
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="utf-8">
    <link rel="canonical" href="https://blog.csdn.net/Will_Ye/article/details/116061302"/>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <meta name="renderer" content="webkit"/>
    <meta name="force-rendering" content="webkit"/>
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <meta name="report" content='{"pid": "blog", "spm":"1001.2101"}'>
    <meta name="referrer" content="always">
    <meta http-equiv="Cache-Control" content="no-siteapp" /><link rel="alternate" media="handheld" href="#" />
    <meta name="shenma-site-verification" content="5a59773ab8077d4a62bf469ab966a63b_1497598848">
    <meta name="applicable-device" content="pc">
    <link  href="https://g.csdnimg.cn/static/logo/favicon32.ico"  rel="shortcut icon" type="image/x-icon" />
    <title>Rviz显示理想的运动的轨迹，并对比实时的运动轨迹_Will_Ye的博客-CSDN博客_rviz怎么看车辆速度曲线图</title>
    <script>
      (function(){ 
        var el = document.createElement("script"); 
        el.src = "https://s3a.pstatp.com/toutiao/push.js?1abfa13dfe74d72d41d83c86d240de427e7cac50c51ead53b2e79d40c7952a23ed7716d05b4a0f683a653eab3e214672511de2457e74e99286eb2c33f4428830"; 
        el.id = "ttzz"; 
        var s = document.getElementsByTagName("script")[0]; 
        s.parentNode.insertBefore(el, s);
      })(window)
    </script>
        <meta name="keywords" content="rviz怎么看车辆速度曲线图">
        <meta name="csdn-baidu-search"  content='{"autorun":true,"install":true,"keyword":"Rviz显示理想的运动的轨迹，并对比实时的运动轨迹"}'>
    <meta name="description" content="ReferenceROS中rviz显示运动轨迹的常见方法:https://blog.csdn.net/u013834525/article/details/80447931?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-5.control&amp;amp;dist_request_id=&amp;amp;depth_1-utm_source=distribute.pc_rel">
    <script src="//g.csdnimg.cn/tingyun/1.8.5/blog.js" type='text/javascript'></script>
        <link rel="stylesheet" type="text/css" href="https://csdnimg.cn/release/blogv2/dist/pc/css/detail_enter-55b4b2a4d8.min.css">
    <script type="application/ld+json">{"@context":"https://ziyuan.baidu.com/contexts/cambrian.jsonld","@id":"https://blog.csdn.net/Will_Ye/article/details/116061302","appid":"1638831770136827","pubDate":"2021-04-23T16:31:00","title":"Rviz显示理想的运动的轨迹，并对比实时的运动轨迹_Will_Ye的博客-CSDN博客_rviz怎么看车辆速度曲线图","upDate":"2021-04-27T11:54:41"}</script>
        <link rel="stylesheet" type="text/css" href="https://csdnimg.cn/release/blogv2/dist/pc/themesSkin/skin3-template/skin3-template-762f7595fd.min.css">
    <script src="https://csdnimg.cn/public/common/libs/jquery/jquery-1.9.1.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        var isCorporate = false;//注释删除enterprise
        var username =  "Will_Ye";
        var skinImg = "white";
        var blog_address = "https://blog.csdn.net/Will_Ye";
        var currentUserName = "qq_34761779";
        var isOwner = false;
        var loginUrl = "http://passport.csdn.net/account/login?from=https://blog.csdn.net/Will_Ye/article/details/116061302";
        var blogUrl = "https://blog.csdn.net/";
        var avatar = "https://profile.csdnimg.cn/6/A/1/3_will_ye";
        var articleTitle = "Rviz显示理想的运动的轨迹，并对比实时的运动轨迹";
        var articleDesc = "ReferenceROS中rviz显示运动轨迹的常见方法:https://blog.csdn.net/u013834525/article/details/80447931?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-5.control&amp;amp;dist_request_id=&amp;amp;depth_1-utm_source=distribute.pc_rel";
        var articleTitles = "Rviz显示理想的运动的轨迹，并对比实时的运动轨迹_Will_Ye的博客-CSDN博客_rviz怎么看车辆速度曲线图";
        var nickName = "Will_Ye";
        var articleDetailUrl = "https://blog.csdn.net/Will_Ye/article/details/116061302";
        if(window.location.host.split('.').length == 3) {
            blog_address = blogUrl + username;
        }
        var skinStatus = "White";
        var blogStaticHost = "https://csdnimg.cn/release/blogv2/"
        var mallTestStyle = "control"
    </script>
    <script src="https://g.csdnimg.cn/??fixed-sidebar/1.1.6/fixed-sidebar.js" type="text/javascript"></script>
    <script src='//g.csdnimg.cn/common/csdn-report/report.js' type='text/javascript'></script>
    <link rel="stylesheet" type="text/css" href="https://csdnimg.cn/public/sandalstrap/1.4/css/sandalstrap.min.css">
    <style>
        .MathJax, .MathJax_Message, .MathJax_Preview{
            display: none
        }
    </style>
    <script src="https://dup.baidustatic.com/js/ds.js"></script>
</head>
  <body class="nodata " style="">
        <script>
            var toolbarSearchExt = '{"landingWord":["rviz怎么看车辆速度曲线图"],"queryWord":"Rviz显示理想的运动的轨迹，并对比实时的运动轨迹","tag":["ROS"],"title":"Rviz显示理想的运动的轨迹，并对比实时的运动轨迹"}';
        </script>
    <script src="https://g.csdnimg.cn/common/csdn-toolbar/csdn-toolbar.js" type="text/javascript"></script>
    <script>
    (function(){
        var bp = document.createElement('script');
        var curProtocol = window.location.protocol.split(':')[0];
        if (curProtocol === 'https') {
            bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
        }
        else {
            bp.src = 'http://push.zhanzhang.baidu.com/push.js';
        }
        var s = document.getElementsByTagName("script")[0];
        s.parentNode.insertBefore(bp, s);
    })();
    </script>
<link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/pc/css/blog_code-01256533b5.min.css">
<link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/chart-3456820cac.css" />

<script>
    var articleId = 116061302;
    var commentscount = 0;
    var curentUrl = "https://blog.csdn.net/Will_Ye/article/details/116061302";
    var myUrl = "https://my.csdn.net/";
    var highlight = ["rviz","曲线图","ros","轨迹","显示","车辆","实时","理想","速度","运动"];//高亮数组
    var isRecommendModule = true;
    var isBaiduPre = true;
    var baiduCount = 2;
    var setBaiduJsCount = 10;
    var share_card_url = "https://app-blog.csdn.net/share?article_id=116061302&username=Will_Ye"
	var articleType = 1;
    var baiduKey = "Rviz显示理想的运动的轨迹，并对比实时的运动轨迹";
    var userNewReport = true;
    var needInsertBaidu = true;
    var recommendRegularDomainArr = ["blog.csdn.net/.+/article/details/","download.csdn.net/download/","edu.csdn.net/course/detail/","ask.csdn.net/questions/","bbs.csdn.net/topics/","www.csdn.net/gather_.+/"]
    var codeStyle = "atom-one-light";
    var baiduSearchType = "utm_term";
     var sharData = "{\"hot\":[{\"id\":1,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/a5f4260710904e538002a6ab337939b3.png\"},{\"id\":2,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/188b37199a2c4b74b1d9ffc39e0d52de.png\"},{\"id\":3,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/14ded358b631444581edd98a256bc5af.png\"},{\"id\":4,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/1470f23a770444d986ad551b9c33c5be.png\"},{\"id\":5,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/c329f5181dc74f6c9bd28c982bb9f91d.png\"},{\"id\":6,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/ccd8a3305e81460f9c505c95b432a65f.png\"},{\"id\":7,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/bc89d8283389440d97fc4d30e30f45e1.png\"},{\"id\":8,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/452d485b4a654f5592390550d2445edf.png\"},{\"id\":9,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/f8b9939db2ed474a8f43a643015fc8b7.png\"},{\"id\":10,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/6de8864187ab4ed3b1db0856369c36ff.png\"},{\"id\":11,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/673cc3470ff74072acba958dc0c46e2d.png\"},{\"id\":12,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/930c119760ac4491804db80f9c6d4e3f.png\"},{\"id\":13,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/15e6befb05a24233bc2b65e96aa8d972.png\"},{\"id\":14,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/2075fd6822184b95a41e214de4daec13.png\"},{\"id\":15,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/859b1552db244eb6891a809263a5c657.png\"},{\"id\":16,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/0be2f920f1f74290a98921974a9613fd.png\"},{\"id\":17,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/2e97e00b43f14afab494ea55ef3f4a6e.png\"},{\"id\":18,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/ff4ab252f46e444686f5135d6ebbfec0.png\"},{\"id\":19,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/ae029bbe99564e79911657912d36524f.png\"},{\"id\":20,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/b3ece39963de440388728e9e7b9bf427.png\"},{\"id\":21,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/6f14651a99ba486e926d63b6fa692997.png\"},{\"id\":22,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/83ceddf050084875a341e32dcceca721.png\"},{\"id\":23,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/b90368b8fd5d4c6c8c79a707d877cf7c.png\"},{\"id\":24,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/aeffae14ecf14e079b2616528c9a393b.png\"},{\"id\":25,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/c5a06b5a13d44d16bed868fc3384897a.png\"},{\"id\":26,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/08b697658b844b318cea3b119e9541ef.png\"},{\"id\":27,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/68ccb0b8d09346ac961d2b5c1a8c77bf.png\"},{\"id\":28,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/a2227a247e37418cbe0ea972ba6a859b.png\"},{\"id\":29,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/3a42825fede748f9993e5bb844ad350d.png\"},{\"id\":30,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/8882abc1dd484224b636966ea38555c3.png\"},{\"id\":31,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/4f6a5f636a3e444d83cf8cc06d87a159.png\"},{\"id\":32,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/1953ef79c56b4407b78d7181bdff11c3.png\"},{\"id\":33,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/c04a2a4f772948ed85b5b0380ed36287.png\"},{\"id\":34,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/5b4fecd05091405ea04d8c0f53e9f2c7.png\"},{\"id\":35,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/b89f576d700344e280d6ceb2a66c2420.png\"},{\"id\":36,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/1c65780e11804bbd9971ebadb3d78bcf.png\"},{\"id\":37,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/d590db2055f345db9706eb68a7ec151a.png\"},{\"id\":38,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/fe602f80700b4f6fb3c4a9e4c135510e.png\"},{\"id\":39,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/39ff2fcd31e04feba301a071976a0ba7.png\"},{\"id\":40,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/f9b61b3d113f436b828631837f89fb39.png\"},{\"id\":41,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/df1aca5f610c4ad48cd16da88c9c8499.png\"},{\"id\":42,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/d7acf73a1e6b41399a77a85040e10961.png\"},{\"id\":43,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/b7f1b63542524b97962ff649ab4e7e23.png\"}],\"vip\":[{\"id\":1,\"vipUrl\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220920101150.png\",\"url\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220920101154.png\"},{\"id\":2,\"vipUrl\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220920101204.png\",\"url\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220920101208.png\"},{\"id\":3,\"vipUrl\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220920101211.png\",\"url\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220920101215.png\"},{\"id\":4,\"vipUrl\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220920101218.png\",\"url\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220920101220.png\"},{\"id\":5,\"vipUrl\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220920101223.png\",\"url\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220920101226.png\"},{\"id\":6,\"vipUrl\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220922100635.png\",\"url\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220922100639.png\"},{\"id\":7,\"vipUrl\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220922100642.png\",\"url\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220922100644.png\"},{\"id\":8,\"vipUrl\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220922100647.png\",\"url\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220922100649.png\"},{\"id\":9,\"vipUrl\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220922100652.png\",\"url\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220922100655.png\"},{\"id\":10,\"vipUrl\":\"https:\\/\\/img-blog.csdnimg.cn\\/55de67481fde4b04b97ad78f11fe369a.png\",\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/bb2418fb537e4d78b10d8765ccd810c5.png\"},{\"id\":11,\"vipUrl\":\"https:\\/\\/img-blog.csdnimg.cn\\/579c713394584d128104ef1044023954.png\",\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/f420d9fbcf5548079d31b5e809b6d6cd.png\"},{\"id\":12,\"vipUrl\":\"https:\\/\\/img-blog.csdnimg.cn\\/75b7f3155ba642f5a4cc16b7baf44122.png\",\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/a9030f5877be401f8b340b80b0d91e64.png\"},{\"id\":13,\"vipUrl\":\"https:\\/\\/img-blog.csdnimg.cn\\/0903d33cafa54934be3780aa54ae958d.png\",\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/2cd8c8929f5a42fca5da2a0aeb456203.png\"},{\"id\":14,\"vipUrl\":\"https:\\/\\/img-blog.csdnimg.cn\\/949fd7c22884439fbfc3c0e9c3b8dee7.png\",\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/dafbea9bd9eb4f3b962b48dc41657f89.png\"},{\"id\":15,\"vipUrl\":\"https:\\/\\/img-blog.csdnimg.cn\\/4119cfddd71d4e6a8a27a18dbb74d90e.png\",\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/c56310c8b6384d9e85388e4e342ce508.png\"},{\"id\":16,\"vipUrl\":\"https:\\/\\/img-blog.csdnimg.cn\\/121575274da142bcbbbbc2e8243dd411.png\",\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/5013993de06542f881018bb9abe2edf7.png\"},{\"id\":17,\"vipUrl\":\"https:\\/\\/img-blog.csdnimg.cn\\/4d97aa6dd4fe4f09a6bef5bdf8a6abcd.png\",\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/76f23877b6ad4066ad45ce8e31b4b977.png\"},{\"id\":18,\"vipUrl\":\"https:\\/\\/img-blog.csdnimg.cn\\/fdb619daf21b4c829de63b9ebc78859d.png\",\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/a1abe5d27a5441f599adfe662f510243.png\"},{\"id\":19,\"vipUrl\":\"https:\\/\\/img-blog.csdnimg.cn\\/676b7707bb11410f8f56bc0ed2b2345c.png\",\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/7ac5b467fbf24e1d8c2de3f3332c4f54.png\"},{\"id\":20,\"vipUrl\":\"https:\\/\\/img-blog.csdnimg.cn\\/0becb8cc227e4723b765bdd69a20fd4a.png\",\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/fdec85b26091486b9a89d0b8d45c3749.png\"},{\"id\":21,\"vipUrl\":\"https:\\/\\/img-blog.csdnimg.cn\\/1a6c06235ad44941b38c54cbc25a370c.png\",\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/410a06cda2d44b0c84578f88275caf70.png\"}],\"map\":{\"hot\":\"热门\",\"vip\":\"VIP\"}}";
    
    var canRead = true;
    var blogMoveHomeArticle = false;
    var showPcWindowAd = false;
    var showHeadWord = true;
    var showSearchText = "";
    var linkPage = true;
    var articleSource = 1;
    var articleReport = '{"pid": "blog", "spm":"1001.2101"}';
    var isShowToQuestion = false;
    var baiduSearchChannel = 'pc_relevant'
    var baiduSearchIdentification = '.pc_relevant_3mothn_strategy_recovery'
    var distRequestId = '1671708121798_34646'
    var initRewardObject = {
        giver: "qq_34761779",
        anchor: "Will_Ye",
        articleId: "116061302",
        sign: "9cdc4057c7d09ba8f64c2e6352f96dd3",
    }
    var isLikeStatus = false;
    var isUnLikeStatus = false;
    var studyLearnWord = "";
    var isCurrentUserVip = false;
    var testNewStyle = "oldStyle"
    var contentViewsHeight = 0;
    var contentViewsCount = 0;
    var contentViewsCountLimit = 5;
    var isShowConcision = true
    var isCookieConcision = false
    var isHasDirectoryModel = false
    var isShowSideModel = false
    var isShowDirectoryModel = true
    function getCookieConcision(sName){
        var allCookie = document.cookie.split("; ");
        for (var i=0; i < allCookie.length; i++){
            var aCrumb = allCookie[i].split("=");
            if (sName == aCrumb[0])
                return aCrumb[1];
        }
        return null;
    }
    if (getCookieConcision('blog_details_concision') && getCookieConcision('blog_details_concision') == 0){
        isCookieConcision = true
        isShowSideModel = true
        isShowDirectoryModel = false
    }
</script>
<div class="main_father clearfix d-flex justify-content-center mainfather-concision" style="height:100%;"> 
    <div class="container clearfix container-concision" id="mainBox">
        <script>
        if(!isCookieConcision){
            $('.main_father').removeClass('mainfather-concision')
            $('.main_father .container').removeClass('container-concision')
        }
        </script>
        <main>
<script type="text/javascript">
    function getQueryString(name) {   
      var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象  
      var r = window.location.search.substr(1).match(reg);  //匹配目标参数
      if( r != null ) return decodeURIComponent( r[2] ); return '';   
    }
    function stripscript(s){ 
      var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~！@#￥……&*（）——|{}【】‘；：”“'。，、？%]") 
      var rs = ""; 
      for (var i = 0; i < s.length; i++) { 
        rs = rs+s.substr(i, 1).replace(pattern, ''); 
      } 
      return rs; 
    }
    var blogHotWords = stripscript(getQueryString('utm_term')).length > 1 ? stripscript(getQueryString('utm_term')) : ''
</script>
<div class="blog-content-box">
        <div class="article-header-box">
        <div class="article-header">
            <div class="article-title-box">
                <h1 class="title-article" id="articleContentId">Rviz显示理想的运动的轨迹，并对比实时的运动轨迹</h1>
            </div>
            <div class="article-info-box">
                <div class="article-bar-top">
                    <img class="article-type-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/original.png" alt="">
                    <div class="bar-content">
                    <a class="follow-nickName " href="https://blog.csdn.net/Will_Ye" target="_blank" rel="noopener" title="Will_Ye">Will_Ye</a>
                    <img class="article-time-img article-heard-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/newCurrentTime2.png" alt="">
                    <span class="time">于&nbsp;2021-04-27 11:54:41&nbsp;发布</span>
                    <img class="article-read-img article-heard-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/articleReadEyes2.png" alt="">
                    <span class="read-count">2782</span>
                    <a id="blog_detail_zk_collection" class="un-collection" data-report-click='{"mod":"popu_823","spm":"1001.2101.3001.4232","ab":"new"}'>
                        <img class="article-collect-img article-heard-img un-collect-status isdefault" style="display:inline-block" src="https://csdnimg.cn/release/blogv2/dist/pc/img/tobarCollect2.png" alt="">
                        <img class="article-collect-img article-heard-img collect-status isactive" style="display:none" src="https://csdnimg.cn/release/blogv2/dist/pc/img/tobarCollectionActive2.png" alt="">
                        <span class="name">收藏</span>
                        <span class="get-collection">
                            30
                        </span>
                    </a>
                    </div>
                </div>
                <div class="blog-tags-box">
                    <div class="tags-box artic-tag-box">
                            <span class="label">分类专栏：</span>
                                <a class="tag-link" href="https://blog.csdn.net/will_ye/category_7492009.html" target="_blank" rel="noopener">ROS learning</a>
                            <span class="label">文章标签：</span>
                                <a data-report-click='{"mod":"popu_626","spm":"1001.2101.3001.4223","strategy":"ROS","ab":"new","extra":"{\"searchword\":\"ROS\"}"}' class="tag-link" href="https://so.csdn.net/so/search/s.do?q=ROS&amp;t=blog&amp;o=vip&amp;s=&amp;l=&amp;f=&amp;viparticle=" target="_blank" rel="noopener">ROS</a>
                    </div>
                </div>
                <div class="slide-content-box">
                    <div class="article-copyright">
                        <div class="creativecommons">
                            版权声明：本文为博主原创文章，遵循<a href="http://creativecommons.org/licenses/by-sa/4.0/" target="_blank" rel="noopener"> CC 4.0 BY-SA </a>版权协议，转载请附上原文出处链接和本声明。
                        </div>
                        <div class="article-source-link">
                            本文链接：<a href="https://blog.csdn.net/Will_Ye/article/details/116061302" target="_blank">https://blog.csdn.net/Will_Ye/article/details/116061302</a>
                        </div>
                    </div>
                </div>
                <div class="operating">
                    <a class="href-article-edit slide-toggle">版权</a>
                </div>
            </div>
        </div>
    </div>
    <div id="blogHuaweiyunAdvert"></div>
        <div id="blogColumnPayAdvert">
            <div class="column-group">
                <div class="column-group-item column-group0 column-group-item-one">
                    <div class="item-l">
                        <a class="item-target" href="https://blog.csdn.net/will_ye/category_7492009.html" target="_blank" title="ROS learning"
                        data-report-view='{"spm":"1001.2101.3001.6332"}'
                        data-report-click='{"spm":"1001.2101.3001.6332"}'>
                            <img class="item-target" src="https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="">
                            <span class="title item-target">
                                <span>
                                <span class="tit">ROS learning</span>
                                    <span class="dec">专栏收录该内容</span>
                                </span>
                            </span>
                        </a>
                    </div>
                    <div class="item-m">
                        <span>40 篇文章</span>
                        <span>12 订阅</span>
                    </div>
                    <div class="item-r">
                            <a class="item-target article-column-bt articleColumnFreeBt" data-id="7492009">订阅专栏</a>
                    </div>
                </div>
            </div>
        </div>
    <article class="baidu_pl">
        <div id="article_content" class="article_content clearfix">
        <link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/kdoc_html_views-23cf357b0c.css">
        <link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/ck_htmledit_views-6e43165c0a.css">
                <div id="content_views" class="markdown_views prism-atom-one-light">
                    <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
                        <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path>
                    </svg>
                    <h4><a id="20210505_0"></a>20210505更新</h4> 
<p>前天的bug&#xff0c;修改了marker点的尺寸和颜色后在rviz中不显示的问题解决了&#xff0c;代码什么的完全没有改&#xff0c;只是用了<code>sudo apt-get upgrade</code>&#xff0c;把ros的一些包和库都升级了&#xff0c;然后发现这个问题就解决了&#xff0c;可以正常显示了&#xff0c;看来这个upgrade还是很用的&#xff0c;以前比较少用这个&#xff0c;觉得没什么大作用&#xff0c;没想到&#xff0c;今天编译其他东西后&#xff0c;发现连带着以前的bug也解决了<br /> <img src="https://img-blog.csdnimg.cn/20210505223707513.png?x-oss-process&#61;image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1dpbGxfWWU&#61;,size_16,color_FFFFFF,t_70#pic_center" alt="marker" /></p> 
<p>2021.05.05</p> 
<hr /> 
<h4><a id="20210503_7"></a>20210503更新</h4> 
<h3><a id="Marker_8"></a>显示多个Marker点</h3> 
<h5><a id="Target_9"></a>Target&#xff1a;想看看机械臂需要停驻的点</h5> 
<h5><a id="Method_10"></a>Method&#xff1a;</h5> 
<p>用Rviz里面的marker和markerarray显示多个点&#xff1a;<br /> 先上代码&#xff1a;</p> 
<pre><code class="prism language-cpp"><span class="token macro property">#<span class="token directive keyword">include</span> <span class="token string">&lt;ros/ros.h&gt;</span></span>
<span class="token macro property">#<span class="token directive keyword">include</span> <span class="token string">&lt;ros/console.h&gt;</span></span>
<span class="token macro property">#<span class="token directive keyword">include</span> <span class="token string">&lt;nav_msgs/Path.h&gt;</span></span>
<span class="token macro property">#<span class="token directive keyword">include</span> <span class="token string">&lt;std_msgs/String.h&gt;</span></span>
<span class="token macro property">#<span class="token directive keyword">include</span> <span class="token string">&lt;geometry_msgs/Quaternion.h&gt;</span></span>
<span class="token macro property">#<span class="token directive keyword">include</span> <span class="token string">&lt;geometry_msgs/PoseStamped.h&gt;</span></span>
<span class="token macro property">#<span class="token directive keyword">include</span> <span class="token string">&lt;tf/transform_broadcaster.h&gt;</span></span>
<span class="token macro property">#<span class="token directive keyword">include</span> <span class="token string">&lt;tf/tf.h&gt;</span></span>
<span class="token macro property">#<span class="token directive keyword">include</span> <span class="token string">&lt;visualization_msgs/Marker.h&gt;</span></span>
<span class="token macro property">#<span class="token directive keyword">include</span> <span class="token string">&lt;visualization_msgs/MarkerArray.h&gt;</span></span>
<span class="token macro property">#<span class="token directive keyword">include</span> <span class="token string">&lt;fstream&gt;</span></span>
<span class="token macro property">#<span class="token directive keyword">include</span> <span class="token string">&lt;iostream&gt;</span></span>
<span class="token macro property">#<span class="token directive keyword">include</span> <span class="token string">&lt;sstream&gt;</span></span>
<span class="token keyword">using</span> <span class="token keyword">namespace</span> std<span class="token punctuation">;</span>

<span class="token keyword">double</span> PI <span class="token operator">&#61;</span> <span class="token number">3.1415926</span><span class="token punctuation">;</span>

main <span class="token punctuation">(</span><span class="token keyword">int</span> argc<span class="token punctuation">,</span> <span class="token keyword">char</span> <span class="token operator">*</span><span class="token operator">*</span>argv<span class="token punctuation">)</span>
<span class="token punctuation">{<!-- --></span>
    <span class="token comment">// show the ground ture path</span>
    ros<span class="token operator">::</span>init <span class="token punctuation">(</span>argc<span class="token punctuation">,</span> argv<span class="token punctuation">,</span> <span class="token string">&#34;showpath&#34;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

    ros<span class="token operator">::</span>NodeHandle ph<span class="token punctuation">;</span>
    ros<span class="token operator">::</span>Publisher vis_pub <span class="token operator">&#61;</span> ph<span class="token punctuation">.</span>advertise<span class="token operator">&lt;</span>visualization_msgs<span class="token operator">::</span>MarkerArray<span class="token operator">&gt;</span><span class="token punctuation">(</span> <span class="token string">&#34;visualization_marker&#34;</span><span class="token punctuation">,</span> <span class="token number">10</span> <span class="token punctuation">)</span><span class="token punctuation">;</span>

    ifstream <span class="token function">selected_robot</span><span class="token punctuation">(</span><span class="token string">&#34;/home/will/catkin_ws/src/gazebo_mobile_manipulator/data/uvc_point.txt&#34;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
	ifstream <span class="token function">selected_robot_euler_angle</span><span class="token punctuation">(</span><span class="token string">&#34;/home/will/catkin_ws/src/gazebo_mobile_manipulator/data/uvc_angle.txt&#34;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

    <span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token operator">!</span>selected_robot<span class="token punctuation">.</span><span class="token function">is_open</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
	<span class="token punctuation">{<!-- --></span>
		cout <span class="token operator">&lt;&lt;</span> <span class="token string">&#34;can not open selected_robot file&#34;</span> <span class="token operator">&lt;&lt;</span> endl<span class="token punctuation">;</span>
		<span class="token keyword">return</span> <span class="token number">0</span><span class="token punctuation">;</span>
	<span class="token punctuation">}</span>

    <span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token operator">!</span>selected_robot_euler_angle<span class="token punctuation">.</span><span class="token function">is_open</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
	<span class="token punctuation">{<!-- --></span>
		cout <span class="token operator">&lt;&lt;</span> <span class="token string">&#34;can not open selected_robot_euler_angle file&#34;</span> <span class="token operator">&lt;&lt;</span> endl<span class="token punctuation">;</span>
		<span class="token keyword">return</span> <span class="token number">0</span><span class="token punctuation">;</span>
	<span class="token punctuation">}</span>

    <span class="token keyword">char</span> c<span class="token punctuation">,</span> c2<span class="token punctuation">;</span>
    <span class="token keyword">int</span> line<span class="token operator">&#61;</span><span class="token number">0</span><span class="token punctuation">;</span>
    <span class="token keyword">int</span> line2<span class="token operator">&#61;</span><span class="token number">0</span><span class="token punctuation">;</span>
    <span class="token keyword">while</span><span class="token punctuation">(</span>selected_robot<span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span>c<span class="token punctuation">)</span><span class="token punctuation">)</span>
    <span class="token punctuation">{<!-- --></span>
        <span class="token keyword">if</span> <span class="token punctuation">(</span>c<span class="token operator">&#61;&#61;</span><span class="token string">&#39;\n&#39;</span><span class="token punctuation">)</span>
            line<span class="token operator">&#43;&#43;</span><span class="token punctuation">;</span>
    <span class="token punctuation">}</span>
    <span class="token keyword">while</span><span class="token punctuation">(</span>selected_robot_euler_angle<span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span>c2<span class="token punctuation">)</span><span class="token punctuation">)</span>
    <span class="token punctuation">{<!-- --></span>
        <span class="token keyword">if</span> <span class="token punctuation">(</span>c2<span class="token operator">&#61;&#61;</span><span class="token string">&#39;\n&#39;</span><span class="token punctuation">)</span>
            line2<span class="token operator">&#43;&#43;</span><span class="token punctuation">;</span>
    <span class="token punctuation">}</span>
    <span class="token function">printf</span><span class="token punctuation">(</span><span class="token string">&#34;line sum: %d %d\n&#34;</span><span class="token punctuation">,</span> line<span class="token punctuation">,</span> line2<span class="token punctuation">)</span><span class="token punctuation">;</span>
	<span class="token keyword">double</span> position<span class="token punctuation">[</span>line<span class="token operator">&#43;</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">3</span><span class="token punctuation">]</span><span class="token punctuation">;</span>

    <span class="token keyword">double</span> euler<span class="token punctuation">[</span>line2<span class="token operator">&#43;</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">3</span><span class="token punctuation">]</span><span class="token punctuation">;</span>

    selected_robot<span class="token punctuation">.</span><span class="token function">clear</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
    selected_robot<span class="token punctuation">.</span><span class="token function">seekg</span><span class="token punctuation">(</span>ios<span class="token operator">::</span>beg<span class="token punctuation">)</span><span class="token punctuation">;</span>    
    selected_robot_euler_angle<span class="token punctuation">.</span><span class="token function">clear</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
    selected_robot_euler_angle<span class="token punctuation">.</span><span class="token function">seekg</span><span class="token punctuation">(</span>ios<span class="token operator">::</span>beg<span class="token punctuation">)</span><span class="token punctuation">;</span>
    <span class="token comment">//从data1文件中读入int数据</span>
	<span class="token keyword">for</span> <span class="token punctuation">(</span><span class="token keyword">int</span> i <span class="token operator">&#61;</span> <span class="token number">0</span><span class="token punctuation">;</span> i <span class="token operator">&lt;</span> line<span class="token operator">&#43;</span><span class="token number">1</span><span class="token punctuation">;</span> i<span class="token operator">&#43;&#43;</span><span class="token punctuation">)</span>
	<span class="token punctuation">{<!-- --></span>
		<span class="token keyword">for</span> <span class="token punctuation">(</span><span class="token keyword">int</span> j <span class="token operator">&#61;</span> <span class="token number">0</span><span class="token punctuation">;</span> j <span class="token operator">&lt;</span> <span class="token number">3</span><span class="token punctuation">;</span> j<span class="token operator">&#43;&#43;</span><span class="token punctuation">)</span>
		<span class="token punctuation">{<!-- --></span>
			selected_robot <span class="token operator">&gt;&gt;</span> position<span class="token punctuation">[</span>i<span class="token punctuation">]</span><span class="token punctuation">[</span>j<span class="token punctuation">]</span><span class="token punctuation">;</span>
			selected_robot_euler_angle <span class="token operator">&gt;&gt;</span> euler<span class="token punctuation">[</span>i<span class="token punctuation">]</span><span class="token punctuation">[</span>j<span class="token punctuation">]</span><span class="token punctuation">;</span>
		<span class="token punctuation">}</span>
	<span class="token punctuation">}</span>
    ros<span class="token operator">::</span>Rate <span class="token function">loop_rate</span><span class="token punctuation">(</span><span class="token number">50</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
    <span class="token keyword">int</span> count <span class="token operator">&#61;</span> <span class="token number">0</span><span class="token punctuation">;</span>
    <span class="token keyword">while</span> <span class="token punctuation">(</span>ros<span class="token operator">::</span><span class="token function">ok</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
    <span class="token punctuation">{<!-- --></span>
        <span class="token comment">// Marker</span>
        visualization_msgs<span class="token operator">::</span>MarkerArray marker<span class="token punctuation">;</span>
        <span class="token keyword">for</span> <span class="token punctuation">(</span><span class="token keyword">int</span> i <span class="token operator">&#61;</span> <span class="token number">0</span><span class="token punctuation">;</span> i <span class="token operator">&lt;</span> line<span class="token operator">&#43;</span><span class="token number">1</span><span class="token punctuation">;</span> i<span class="token operator">&#43;&#43;</span><span class="token punctuation">)</span>
        <span class="token punctuation">{<!-- --></span>
            visualization_msgs<span class="token operator">::</span>Marker points<span class="token punctuation">;</span> 
            points<span class="token punctuation">.</span>header<span class="token punctuation">.</span>frame_id <span class="token operator">&#61;</span> <span class="token string">&#34;base&#34;</span><span class="token punctuation">;</span>
            points<span class="token punctuation">.</span>header<span class="token punctuation">.</span>stamp <span class="token operator">&#61;</span> ros<span class="token operator">::</span>Time<span class="token operator">::</span><span class="token function">now</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
            points<span class="token punctuation">.</span>ns <span class="token operator">&#61;</span> <span class="token string">&#34;points&#34;</span><span class="token punctuation">;</span>
            points<span class="token punctuation">.</span>action <span class="token operator">&#61;</span> visualization_msgs<span class="token operator">::</span>Marker<span class="token operator">::</span>ADD<span class="token punctuation">;</span>
            points<span class="token punctuation">.</span>id <span class="token operator">&#61;</span> i<span class="token punctuation">;</span>
            points<span class="token punctuation">.</span>type <span class="token operator">&#61;</span> visualization_msgs<span class="token operator">::</span>Marker<span class="token operator">::</span>SPHERE_LIST<span class="token punctuation">;</span>
            points<span class="token punctuation">.</span>scale<span class="token punctuation">.</span>x <span class="token operator">&#61;</span> <span class="token number">0.1</span><span class="token punctuation">;</span>
            points<span class="token punctuation">.</span>scale<span class="token punctuation">.</span>y <span class="token operator">&#61;</span> <span class="token number">0.1</span><span class="token punctuation">;</span>
            points<span class="token punctuation">.</span>scale<span class="token punctuation">.</span>z <span class="token operator">&#61;</span> <span class="token number">0.1</span><span class="token punctuation">;</span>

            points<span class="token punctuation">.</span>pose<span class="token punctuation">.</span>orientation<span class="token punctuation">.</span>x <span class="token operator">&#61;</span> <span class="token number">0</span><span class="token punctuation">;</span>
            points<span class="token punctuation">.</span>pose<span class="token punctuation">.</span>orientation<span class="token punctuation">.</span>y <span class="token operator">&#61;</span> <span class="token number">0</span><span class="token punctuation">;</span>
            points<span class="token punctuation">.</span>pose<span class="token punctuation">.</span>orientation<span class="token punctuation">.</span>z <span class="token operator">&#61;</span> <span class="token number">0</span><span class="token punctuation">;</span>
            points<span class="token punctuation">.</span>pose<span class="token punctuation">.</span>orientation<span class="token punctuation">.</span>w <span class="token operator">&#61;</span> <span class="token number">1</span><span class="token punctuation">;</span>


            points<span class="token punctuation">.</span>color<span class="token punctuation">.</span>r <span class="token operator">&#61;</span> <span class="token number">1.0</span><span class="token punctuation">;</span>
            points<span class="token punctuation">.</span>color<span class="token punctuation">.</span>a <span class="token operator">&#61;</span> <span class="token number">1.0</span><span class="token punctuation">;</span>

            geometry_msgs<span class="token operator">::</span>Point p<span class="token punctuation">;</span>
            p<span class="token punctuation">.</span>x <span class="token operator">&#61;</span> position<span class="token punctuation">[</span>i<span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
            p<span class="token punctuation">.</span>y <span class="token operator">&#61;</span> position<span class="token punctuation">[</span>i<span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
            p<span class="token punctuation">.</span>z <span class="token operator">&#61;</span> position<span class="token punctuation">[</span>i<span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
            cout <span class="token operator">&lt;&lt;</span> i <span class="token operator">&lt;&lt;</span> <span class="token string">&#34; x y z&#61; &#34;</span> <span class="token operator">&lt;&lt;</span> position<span class="token punctuation">[</span>i<span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span> <span class="token operator">&lt;&lt;</span> <span class="token string">&#34;   &#34;</span> <span class="token operator">&lt;&lt;</span>  position<span class="token punctuation">[</span>i<span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span> <span class="token operator">&lt;&lt;</span> <span class="token string">&#34;  &#34;</span> <span class="token operator">&lt;&lt;</span> position<span class="token punctuation">[</span>i<span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token operator">&lt;&lt;</span> endl<span class="token punctuation">;</span>
            cout <span class="token operator">&lt;&lt;</span> endl <span class="token operator">&lt;&lt;</span> endl<span class="token punctuation">;</span>
    
            points<span class="token punctuation">.</span>points<span class="token punctuation">.</span><span class="token function">push_back</span><span class="token punctuation">(</span>p<span class="token punctuation">)</span><span class="token punctuation">;</span>
            marker<span class="token punctuation">.</span>markers<span class="token punctuation">.</span><span class="token function">push_back</span><span class="token punctuation">(</span>points<span class="token punctuation">)</span><span class="token punctuation">;</span> 
        <span class="token punctuation">}</span>
        cout <span class="token operator">&lt;&lt;</span> <span class="token string">&#34;MarkerArray points size: &#34;</span> <span class="token operator">&lt;&lt;</span> marker<span class="token punctuation">.</span>markers<span class="token punctuation">.</span><span class="token function">size</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">&lt;&lt;</span> endl<span class="token punctuation">;</span>
        vis_pub<span class="token punctuation">.</span><span class="token function">publish</span><span class="token punctuation">(</span>marker<span class="token punctuation">)</span><span class="token punctuation">;</span>
        ros<span class="token operator">::</span><span class="token function">spinOnce</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>               <span class="token comment">// check for incoming messages</span>

        loop_rate<span class="token punctuation">.</span><span class="token function">sleep</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
    <span class="token punctuation">}</span>

    <span class="token keyword">return</span> <span class="token number">0</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
</code></pre> 
<p>效果如下&#xff1a;</p> 
<p><img src="https://img-blog.csdnimg.cn/2021050315115269.png?x-oss-process&#61;image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1dpbGxfWWU&#61;,size_16,color_FFFFFF,t_70#pic_center" alt="maker" /><br /> 产生了对应的点&#xff0c;但是很奇怪&#xff0c;非常不明显&#xff0c;我设置点的尺寸大小和颜色好像没有作用一样&#xff0c;我换了好几种尺寸和颜色&#xff0c;最后编译完&#xff0c;显示的还是原来的模样&#xff0c;弄了一上午&#xff0c;也没找到解决方法&#xff0c;如果有路过的大神&#xff0c;望指点一二。</p> 
<p>虽然不是很明显&#xff0c;但是能看到对应的点&#xff0c;也算可以讲究着用&#xff0c;其实我也试了marker那个显示工具&#xff0c;也是一样的效果&#xff0c;太奇怪了&#xff0c;懵逼。<br /> 2021.05.03</p> 
<hr /> 
<h3><a id="Target_145"></a>Target&#xff1a;</h3> 
<p>显示两条轨迹&#xff0c;一个是Ground true trajectory&#xff0c;另一个是机器人仿真的End-effector trajectory</p> 
<h3><a id="Method_148"></a>Method&#xff1a;</h3> 
<h4><a id="1_Ground_Ture__149"></a>1. 建立Ground Ture 节点</h4> 
<p>1&#xff09;写一个节点发布Ground true的空间坐标和姿态&#xff0c;建一个以<code>showpath.cpp</code>命名的文件&#xff0c;如下&#xff1a;</p> 
<pre><code class="prism language-cpp"><span class="token macro property">#<span class="token directive keyword">include</span> <span class="token string">&lt;ros/ros.h&gt;</span></span>
<span class="token macro property">#<span class="token directive keyword">include</span> <span class="token string">&lt;ros/console.h&gt;</span></span>
<span class="token macro property">#<span class="token directive keyword">include</span> <span class="token string">&lt;nav_msgs/Path.h&gt;</span></span>
<span class="token macro property">#<span class="token directive keyword">include</span> <span class="token string">&lt;std_msgs/String.h&gt;</span></span>
<span class="token macro property">#<span class="token directive keyword">include</span> <span class="token string">&lt;geometry_msgs/Quaternion.h&gt;</span></span>
<span class="token macro property">#<span class="token directive keyword">include</span> <span class="token string">&lt;geometry_msgs/PoseStamped.h&gt;</span></span>
<span class="token macro property">#<span class="token directive keyword">include</span> <span class="token string">&lt;tf/transform_broadcaster.h&gt;</span></span>
<span class="token macro property">#<span class="token directive keyword">include</span> <span class="token string">&lt;tf/tf.h&gt;</span></span>

<span class="token macro property">#<span class="token directive keyword">include</span> <span class="token string">&lt;fstream&gt;</span></span>
<span class="token macro property">#<span class="token directive keyword">include</span> <span class="token string">&lt;iostream&gt;</span></span>
<span class="token macro property">#<span class="token directive keyword">include</span> <span class="token string">&lt;sstream&gt;</span></span>
<span class="token keyword">using</span> <span class="token keyword">namespace</span> std<span class="token punctuation">;</span>

<span class="token keyword">double</span> PI <span class="token operator">&#61;</span> <span class="token number">3.1415926</span><span class="token punctuation">;</span>
<span class="token comment">//Subscribe information about EE</span>
<span class="token keyword">double</span> position<span class="token punctuation">[</span><span class="token number">16</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">3</span><span class="token punctuation">]</span> <span class="token operator">&#61;</span> <span class="token punctuation">{<!-- --></span><span class="token number">0</span><span class="token punctuation">}</span><span class="token punctuation">;</span>
<span class="token keyword">double</span> euler<span class="token punctuation">[</span><span class="token number">16</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">3</span><span class="token punctuation">]</span> <span class="token operator">&#61;</span> <span class="token punctuation">{<!-- --></span><span class="token number">0</span><span class="token punctuation">}</span><span class="token punctuation">;</span>

main <span class="token punctuation">(</span><span class="token keyword">int</span> argc<span class="token punctuation">,</span> <span class="token keyword">char</span> <span class="token operator">*</span><span class="token operator">*</span>argv<span class="token punctuation">)</span>
<span class="token punctuation">{<!-- --></span>
    <span class="token comment">// show the ground ture path</span>
    ros<span class="token operator">::</span>init <span class="token punctuation">(</span>argc<span class="token punctuation">,</span> argv<span class="token punctuation">,</span> <span class="token string">&#34;showpath&#34;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

    ros<span class="token operator">::</span>NodeHandle ph<span class="token punctuation">;</span>
    ros<span class="token operator">::</span>Publisher path_pub <span class="token operator">&#61;</span> ph<span class="token punctuation">.</span>advertise<span class="token operator">&lt;</span>nav_msgs<span class="token operator">::</span>Path<span class="token operator">&gt;</span><span class="token punctuation">(</span><span class="token string">&#34;trajectory&#34;</span><span class="token punctuation">,</span><span class="token number">1</span><span class="token punctuation">,</span> <span class="token boolean">true</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

    ros<span class="token operator">::</span>Time current_time<span class="token punctuation">,</span> last_time<span class="token punctuation">;</span>
    current_time <span class="token operator">&#61;</span> ros<span class="token operator">::</span>Time<span class="token operator">::</span><span class="token function">now</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
    last_time <span class="token operator">&#61;</span> ros<span class="token operator">::</span>Time<span class="token operator">::</span><span class="token function">now</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

    nav_msgs<span class="token operator">::</span>Path path<span class="token punctuation">;</span>
    <span class="token comment">//nav_msgs::Path path;</span>
    path<span class="token punctuation">.</span>header<span class="token punctuation">.</span>stamp<span class="token operator">&#61;</span>current_time<span class="token punctuation">;</span>
    path<span class="token punctuation">.</span>header<span class="token punctuation">.</span>frame_id<span class="token operator">&#61;</span><span class="token string">&#34;base&#34;</span><span class="token punctuation">;</span>

	ifstream <span class="token function">selected_robot</span><span class="token punctuation">(</span><span class="token string">&#34;/home/will/catkin_ws/src/gazebo_mobile_manipulator/src/py_script/uvc_point.txt&#34;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
	ifstream <span class="token function">selected_robot_euler_angle</span><span class="token punctuation">(</span><span class="token string">&#34;/home/will/catkin_ws/src/gazebo_mobile_manipulator/data/uvc_angle.txt&#34;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

    <span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token operator">!</span>selected_robot<span class="token punctuation">.</span><span class="token function">is_open</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
	<span class="token punctuation">{<!-- --></span>
		cout <span class="token operator">&lt;&lt;</span> <span class="token string">&#34;can not open selected_robot file&#34;</span> <span class="token operator">&lt;&lt;</span> endl<span class="token punctuation">;</span>
		<span class="token keyword">return</span> <span class="token number">0</span><span class="token punctuation">;</span>
	<span class="token punctuation">}</span>

    <span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token operator">!</span>selected_robot_euler_angle<span class="token punctuation">.</span><span class="token function">is_open</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
	<span class="token punctuation">{<!-- --></span>
		cout <span class="token operator">&lt;&lt;</span> <span class="token string">&#34;can not open selected_robot file&#34;</span> <span class="token operator">&lt;&lt;</span> endl<span class="token punctuation">;</span>
		<span class="token keyword">return</span> <span class="token number">0</span><span class="token punctuation">;</span>
	<span class="token punctuation">}</span>
    <span class="token comment">//从data1文件中读入int数据</span>
	<span class="token keyword">for</span> <span class="token punctuation">(</span><span class="token keyword">int</span> i <span class="token operator">&#61;</span> <span class="token number">0</span><span class="token punctuation">;</span> i <span class="token operator">&lt;</span> <span class="token number">16</span><span class="token punctuation">;</span> i<span class="token operator">&#43;&#43;</span><span class="token punctuation">)</span>
	<span class="token punctuation">{<!-- --></span>
		<span class="token keyword">for</span> <span class="token punctuation">(</span><span class="token keyword">int</span> j <span class="token operator">&#61;</span> <span class="token number">0</span><span class="token punctuation">;</span> j <span class="token operator">&lt;</span> <span class="token number">3</span><span class="token punctuation">;</span> j<span class="token operator">&#43;&#43;</span><span class="token punctuation">)</span>
		<span class="token punctuation">{<!-- --></span>
			selected_robot <span class="token operator">&gt;&gt;</span> position<span class="token punctuation">[</span>i<span class="token punctuation">]</span><span class="token punctuation">[</span>j<span class="token punctuation">]</span><span class="token punctuation">;</span>
			selected_robot_euler_angle <span class="token operator">&gt;&gt;</span> euler<span class="token punctuation">[</span>i<span class="token punctuation">]</span><span class="token punctuation">[</span>j<span class="token punctuation">]</span><span class="token punctuation">;</span>
		<span class="token punctuation">}</span>
	<span class="token punctuation">}</span>
    
	<span class="token keyword">for</span> <span class="token punctuation">(</span><span class="token keyword">int</span> i <span class="token operator">&#61;</span> <span class="token number">0</span><span class="token punctuation">;</span> i <span class="token operator">&lt;</span> <span class="token number">16</span><span class="token punctuation">;</span> i<span class="token operator">&#43;&#43;</span><span class="token punctuation">)</span>
	<span class="token punctuation">{<!-- --></span>
		<span class="token keyword">for</span> <span class="token punctuation">(</span><span class="token keyword">int</span> j <span class="token operator">&#61;</span> <span class="token number">0</span><span class="token punctuation">;</span> j <span class="token operator">&lt;</span> <span class="token number">3</span><span class="token punctuation">;</span> j<span class="token operator">&#43;&#43;</span><span class="token punctuation">)</span>
		<span class="token punctuation">{<!-- --></span>
            cout <span class="token operator">&lt;&lt;</span> euler<span class="token punctuation">[</span>i<span class="token punctuation">]</span><span class="token punctuation">[</span>j<span class="token punctuation">]</span> <span class="token operator">&lt;&lt;</span> <span class="token string">&#34;, &#34;</span><span class="token punctuation">;</span>
		<span class="token punctuation">}</span>
        cout <span class="token operator">&lt;&lt;</span> endl<span class="token punctuation">;</span>
	<span class="token punctuation">}</span>

    <span class="token comment">//ros::Rate loop_rate(1);</span>
    <span class="token keyword">int</span> count <span class="token operator">&#61;</span> <span class="token number">0</span><span class="token punctuation">;</span>
    <span class="token keyword">while</span> <span class="token punctuation">(</span>ros<span class="token operator">::</span><span class="token function">ok</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
    <span class="token punctuation">{<!-- --></span>

        current_time <span class="token operator">&#61;</span> ros<span class="token operator">::</span>Time<span class="token operator">::</span><span class="token function">now</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

        geometry_msgs<span class="token operator">::</span>PoseStamped this_pose_stamped<span class="token punctuation">;</span>
        this_pose_stamped<span class="token punctuation">.</span>pose<span class="token punctuation">.</span>position<span class="token punctuation">.</span>x <span class="token operator">&#61;</span> position<span class="token punctuation">[</span>count<span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
        this_pose_stamped<span class="token punctuation">.</span>pose<span class="token punctuation">.</span>position<span class="token punctuation">.</span>y <span class="token operator">&#61;</span> position<span class="token punctuation">[</span>count<span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
        this_pose_stamped<span class="token punctuation">.</span>pose<span class="token punctuation">.</span>position<span class="token punctuation">.</span>z <span class="token operator">&#61;</span> position<span class="token punctuation">[</span>count<span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span><span class="token punctuation">;</span>


        geometry_msgs<span class="token operator">::</span>Quaternion goal_quat <span class="token operator">&#61;</span> tf<span class="token operator">::</span><span class="token function">createQuaternionMsgFromRollPitchYaw</span><span class="token punctuation">(</span>euler<span class="token punctuation">[</span>count<span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token operator">/</span><span class="token number">180</span><span class="token operator">*</span>PI<span class="token punctuation">,</span> euler<span class="token punctuation">[</span>count<span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token operator">/</span><span class="token number">180</span><span class="token operator">*</span>PI<span class="token punctuation">,</span> euler<span class="token punctuation">[</span>count<span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span><span class="token operator">/</span><span class="token number">180</span><span class="token operator">*</span>PI<span class="token punctuation">)</span><span class="token punctuation">;</span>
        cout <span class="token operator">&lt;&lt;</span> <span class="token string">&#34;goal_quat.x &#61; &#34;</span><span class="token operator">&lt;&lt;</span> goal_quat<span class="token punctuation">.</span>x <span class="token operator">&lt;&lt;</span>endl<span class="token punctuation">;</span>
        this_pose_stamped<span class="token punctuation">.</span>pose<span class="token punctuation">.</span>orientation<span class="token punctuation">.</span>x <span class="token operator">&#61;</span> goal_quat<span class="token punctuation">.</span>x<span class="token punctuation">;</span>
        this_pose_stamped<span class="token punctuation">.</span>pose<span class="token punctuation">.</span>orientation<span class="token punctuation">.</span>y <span class="token operator">&#61;</span> goal_quat<span class="token punctuation">.</span>y<span class="token punctuation">;</span>
        this_pose_stamped<span class="token punctuation">.</span>pose<span class="token punctuation">.</span>orientation<span class="token punctuation">.</span>z <span class="token operator">&#61;</span> goal_quat<span class="token punctuation">.</span>z<span class="token punctuation">;</span>
        this_pose_stamped<span class="token punctuation">.</span>pose<span class="token punctuation">.</span>orientation<span class="token punctuation">.</span>w <span class="token operator">&#61;</span> goal_quat<span class="token punctuation">.</span>w<span class="token punctuation">;</span>

        this_pose_stamped<span class="token punctuation">.</span>header<span class="token punctuation">.</span>stamp<span class="token operator">&#61;</span>current_time<span class="token punctuation">;</span>
        this_pose_stamped<span class="token punctuation">.</span>header<span class="token punctuation">.</span>frame_id<span class="token operator">&#61;</span><span class="token string">&#34;base&#34;</span><span class="token punctuation">;</span>
        path<span class="token punctuation">.</span>poses<span class="token punctuation">.</span><span class="token function">push_back</span><span class="token punctuation">(</span>this_pose_stamped<span class="token punctuation">)</span><span class="token punctuation">;</span>

        path_pub<span class="token punctuation">.</span><span class="token function">publish</span><span class="token punctuation">(</span>path<span class="token punctuation">)</span><span class="token punctuation">;</span>
        ros<span class="token operator">::</span><span class="token function">spinOnce</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>               <span class="token comment">// check for incoming messages</span>

        last_time <span class="token operator">&#61;</span> current_time<span class="token punctuation">;</span>
        count <span class="token operator">&#43;&#43;</span><span class="token punctuation">;</span>
        <span class="token keyword">if</span> <span class="token punctuation">(</span>count <span class="token operator">&gt;</span> <span class="token number">15</span><span class="token punctuation">)</span>
        <span class="token punctuation">{<!-- --></span>
            count <span class="token operator">&#61;</span><span class="token number">15</span><span class="token punctuation">;</span>
        <span class="token punctuation">}</span>
        <span class="token comment">/*
        if (count &#61;&#61; 16)
        {
            ros::shutdown();
        }
        */</span>
        <span class="token comment">//loop_rate.sleep();</span>
    <span class="token punctuation">}</span>

    <span class="token keyword">return</span> <span class="token number">0</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
</code></pre> 
<p>从代码中可以发现&#xff0c;我是从两个<code>txt</code>文件中读取位置和姿态的信息&#xff0c;然后建立一个topic&#xff0c;以<code>trajectory</code>命名&#xff0c;把这两个信息发布出去。</p> 
<p>2&#xff09;在Rviz中读取这个topic&#xff0c;显示对应的轨迹<br /> 打开Rviz后&#xff0c;点击左下角的<code>Add</code>&#xff0c;然后添加<code>Path</code>&#xff0c;如下图所示&#xff1a;<br /> <img src="https://img-blog.csdnimg.cn/20210427111012914.png?x-oss-process&#61;image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1dpbGxfWWU&#61;,size_16,color_FFFFFF,t_70#pic_center" alt="add path" />编译&#xff08;别忘了在CMakeLists中添加生成执行文件那两行代码&#xff09;完成后&#xff0c;先运行<code>showpath.cpp</code><br /> 然后在<code>path</code>中的<code>Topic</code>选择刚刚我们发布的<code>/trajectory</code>话题&#xff0c;就可以看到Ground true的轨迹了&#xff0c;如下图所示&#xff1a;<br /> <img src="https://img-blog.csdnimg.cn/20210427110844134.png?x-oss-process&#61;image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1dpbGxfWWU&#61;,size_16,color_FFFFFF,t_70#pic_center" alt="最终效果" /></p> 
<hr /> 
<h4><a id="2__275"></a>2. 仿真模型实时发布末端轨迹</h4> 
<p>这一步就要比上一步发布Ground true trajectory要麻烦一点。</p> 
<p>1&#xff09;调用TF监听当前模型的End-effector的位姿<br /> 这一步其实也不用单独建一个node来做这件事&#xff0c;只需要在我们控制robot运动的node里面多发一个topic&#xff0c;这个topic发送的信息源于TF的监听信息&#xff08;position and orientation&#xff09;&#xff0c;根据实际情况&#xff0c;自由安排这个topic放在哪里。例程如下&#xff0c;有些内容有删减掉了&#xff0c;监听部分核心内容都在里面了。</p> 
<pre><code class="prism language-cpp"><span class="token macro property">#<span class="token directive keyword">include</span> <span class="token string">&lt;ros/ros.h&gt;</span></span>
<span class="token macro property">#<span class="token directive keyword">include</span> <span class="token string">&lt;tf/transform_broadcaster.h&gt;</span></span>
<span class="token macro property">#<span class="token directive keyword">include</span> <span class="token string">&lt;sensor_msgs/JointState.h&gt;</span></span>
<span class="token macro property">#<span class="token directive keyword">include</span> <span class="token string">&lt;tf/transform_listener.h&gt;</span></span>
<span class="token macro property">#<span class="token directive keyword">include</span> <span class="token string">&lt;nav_msgs/Path.h&gt;</span></span>

<span class="token keyword">using</span> <span class="token keyword">namespace</span> Eigen<span class="token punctuation">;</span>
<span class="token keyword">using</span> <span class="token keyword">namespace</span> std<span class="token punctuation">;</span>

<span class="token keyword">double</span> PI <span class="token operator">&#61;</span> <span class="token number">3.1415926</span><span class="token punctuation">;</span>

<span class="token keyword">int</span> <span class="token function">main</span><span class="token punctuation">(</span><span class="token keyword">int</span> argc<span class="token punctuation">,</span> <span class="token keyword">char</span>  <span class="token operator">*</span>argv<span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">)</span>
<span class="token punctuation">{<!-- --></span>
    
    ros<span class="token operator">::</span><span class="token function">init</span><span class="token punctuation">(</span>argc<span class="token punctuation">,</span> argv<span class="token punctuation">,</span> <span class="token string">&#34;pub_command&#34;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
    ros<span class="token operator">::</span>NodeHandle nh<span class="token punctuation">;</span>
    <span class="token comment">// tf坐标发布器</span>
    ros<span class="token operator">::</span>Publisher pub <span class="token operator">&#61;</span> nh<span class="token punctuation">.</span>advertise<span class="token operator">&lt;</span>sensor_msgs<span class="token operator">::</span>JointState<span class="token operator">&gt;</span><span class="token punctuation">(</span><span class="token string">&#34;/joint_commands&#34;</span><span class="token punctuation">,</span> <span class="token number">20</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
    ros<span class="token operator">::</span>Publisher path_pub <span class="token operator">&#61;</span> nh<span class="token punctuation">.</span>advertise<span class="token operator">&lt;</span>nav_msgs<span class="token operator">::</span>Path<span class="token operator">&gt;</span><span class="token punctuation">(</span><span class="token string">&#34;EE_trajectory&#34;</span><span class="token punctuation">,</span><span class="token number">1</span><span class="token punctuation">,</span> <span class="token boolean">true</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

    ros<span class="token operator">::</span>Rate <span class="token function">r</span><span class="token punctuation">(</span><span class="token number">20</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
    tf<span class="token operator">::</span>TransformBroadcaster broadcaster<span class="token punctuation">;</span>
    tf<span class="token operator">::</span>TransformListener listener<span class="token punctuation">;</span>

    <span class="token comment">//Publish EE trajectory</span>
    ros<span class="token operator">::</span>Time current_time<span class="token punctuation">,</span> last_time<span class="token punctuation">;</span>
    current_time <span class="token operator">&#61;</span> ros<span class="token operator">::</span>Time<span class="token operator">::</span><span class="token function">now</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
    last_time <span class="token operator">&#61;</span> ros<span class="token operator">::</span>Time<span class="token operator">::</span><span class="token function">now</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

    nav_msgs<span class="token operator">::</span>Path path<span class="token punctuation">;</span>
    path<span class="token punctuation">.</span>header<span class="token punctuation">.</span>stamp<span class="token operator">&#61;</span>current_time<span class="token punctuation">;</span>
    path<span class="token punctuation">.</span>header<span class="token punctuation">.</span>frame_id<span class="token operator">&#61;</span><span class="token string">&#34;base&#34;</span><span class="token punctuation">;</span>

    <span class="token keyword">while</span><span class="token punctuation">(</span>nh<span class="token punctuation">.</span><span class="token function">ok</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">{<!-- --></span>

        <span class="token comment">// listen TF publishing the message about /base /EE</span>
        tf<span class="token operator">::</span>StampedTransform transform<span class="token punctuation">;</span>
		<span class="token keyword">try</span>
		<span class="token punctuation">{<!-- --></span>
			listener<span class="token punctuation">.</span><span class="token function">waitForTransform</span><span class="token punctuation">(</span><span class="token string">&#34;/base&#34;</span><span class="token punctuation">,</span> <span class="token string">&#34;/EE&#34;</span><span class="token punctuation">,</span> ros<span class="token operator">::</span><span class="token function">Time</span><span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">)</span><span class="token punctuation">,</span> ros<span class="token operator">::</span><span class="token function">Duration</span><span class="token punctuation">(</span><span class="token number">3.0</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
			listener<span class="token punctuation">.</span><span class="token function">lookupTransform</span><span class="token punctuation">(</span><span class="token string">&#34;/base&#34;</span><span class="token punctuation">,</span> <span class="token string">&#34;/EE&#34;</span><span class="token punctuation">,</span> ros<span class="token operator">::</span><span class="token function">Time</span><span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">)</span><span class="token punctuation">,</span> transform<span class="token punctuation">)</span><span class="token punctuation">;</span>
		<span class="token punctuation">}</span>
		<span class="token keyword">catch</span> <span class="token punctuation">(</span>tf<span class="token operator">::</span>TransformException <span class="token operator">&amp;</span>ex<span class="token punctuation">)</span> 
		<span class="token punctuation">{<!-- --></span>
			<span class="token function">ROS_ERROR</span><span class="token punctuation">(</span><span class="token string">&#34;%s&#34;</span><span class="token punctuation">,</span>ex<span class="token punctuation">.</span><span class="token function">what</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
			ros<span class="token operator">::</span><span class="token function">Duration</span><span class="token punctuation">(</span><span class="token number">1.0</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">sleep</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
			<span class="token keyword">continue</span><span class="token punctuation">;</span>
		<span class="token punctuation">}</span>
        <span class="token function">ROS_INFO</span><span class="token punctuation">(</span><span class="token string">&#34;Transform x y z: %f %f %f&#34;</span><span class="token punctuation">,</span>transform<span class="token punctuation">.</span><span class="token function">getOrigin</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">x</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">,</span>transform<span class="token punctuation">.</span><span class="token function">getOrigin</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">y</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">,</span>transform<span class="token punctuation">.</span><span class="token function">getOrigin</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">z</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
        <span class="token function">ROS_INFO</span><span class="token punctuation">(</span><span class="token string">&#34;Transform Rotation x y z w: %f %f %f %f&#34;</span><span class="token punctuation">,</span>transform<span class="token punctuation">.</span><span class="token function">getRotation</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">x</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">,</span>transform<span class="token punctuation">.</span><span class="token function">getRotation</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">y</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
        transform<span class="token punctuation">.</span><span class="token function">getRotation</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">z</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">,</span>transform<span class="token punctuation">.</span><span class="token function">getRotation</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">w</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

        current_time <span class="token operator">&#61;</span> ros<span class="token operator">::</span>Time<span class="token operator">::</span><span class="token function">now</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

        geometry_msgs<span class="token operator">::</span>PoseStamped this_pose_stamped<span class="token punctuation">;</span>
        this_pose_stamped<span class="token punctuation">.</span>pose<span class="token punctuation">.</span>position<span class="token punctuation">.</span>x <span class="token operator">&#61;</span> transform<span class="token punctuation">.</span><span class="token function">getOrigin</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">x</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
        this_pose_stamped<span class="token punctuation">.</span>pose<span class="token punctuation">.</span>position<span class="token punctuation">.</span>y <span class="token operator">&#61;</span> transform<span class="token punctuation">.</span><span class="token function">getOrigin</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">y</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
        this_pose_stamped<span class="token punctuation">.</span>pose<span class="token punctuation">.</span>position<span class="token punctuation">.</span>z <span class="token operator">&#61;</span> transform<span class="token punctuation">.</span><span class="token function">getOrigin</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">z</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

        this_pose_stamped<span class="token punctuation">.</span>pose<span class="token punctuation">.</span>orientation<span class="token punctuation">.</span>x <span class="token operator">&#61;</span> transform<span class="token punctuation">.</span><span class="token function">getRotation</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">x</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
        this_pose_stamped<span class="token punctuation">.</span>pose<span class="token punctuation">.</span>orientation<span class="token punctuation">.</span>y <span class="token operator">&#61;</span> transform<span class="token punctuation">.</span><span class="token function">getRotation</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">y</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
        this_pose_stamped<span class="token punctuation">.</span>pose<span class="token punctuation">.</span>orientation<span class="token punctuation">.</span>z <span class="token operator">&#61;</span> transform<span class="token punctuation">.</span><span class="token function">getRotation</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">z</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
        this_pose_stamped<span class="token punctuation">.</span>pose<span class="token punctuation">.</span>orientation<span class="token punctuation">.</span>w <span class="token operator">&#61;</span> transform<span class="token punctuation">.</span><span class="token function">getRotation</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">w</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

        this_pose_stamped<span class="token punctuation">.</span>header<span class="token punctuation">.</span>stamp<span class="token operator">&#61;</span>current_time<span class="token punctuation">;</span>
        this_pose_stamped<span class="token punctuation">.</span>header<span class="token punctuation">.</span>frame_id<span class="token operator">&#61;</span><span class="token string">&#34;base&#34;</span><span class="token punctuation">;</span>
        path<span class="token punctuation">.</span>poses<span class="token punctuation">.</span><span class="token function">push_back</span><span class="token punctuation">(</span>this_pose_stamped<span class="token punctuation">)</span><span class="token punctuation">;</span>
        path_pub<span class="token punctuation">.</span><span class="token function">publish</span><span class="token punctuation">(</span>path<span class="token punctuation">)</span><span class="token punctuation">;</span>
        
        ros<span class="token operator">::</span><span class="token function">spinOnce</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
        r<span class="token punctuation">.</span><span class="token function">sleep</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
    <span class="token punctuation">}</span>
<span class="token punctuation">}</span>

</code></pre> 
<p>注意&#xff1a;<br /> 1.要添加<code>#include &lt;tf/transform_listener.h&gt;</code>这个头文件&#xff0c;TF监听需要用到的函数都在里面了。<br /> 2. <code>listener.lookupTransform(&#34;/base&#34;, &#34;/UV&#34;, ros::Time(0), transform);</code>代码中的这一句&#xff0c;读取的是两个坐标系之间的空间位置和旋转关系&#xff0c;从基座标系<code>/base</code>到末端的坐标系<code>/EE</code>&#xff0c;对应的名字&#xff0c;查看自己的URDF文件&#xff0c;或者直接在Rviz里面也可以看到<br /> 3. <code>ros::Publisher path_pub &#61; nh.advertise&lt;nav_msgs::Path&gt;(&#34;EE_trajectory&#34;,1, true);</code>发布的topic名为<code>EE_trajectory</code><br /> 4.<code>transform.getOrigin().x();</code>用这个函数就可以读取我们指定的两个坐标系之间的位置关系&#xff0c;用<code>transform.getRotation()</code>这个函数可以读取我们指定的两个坐标系之间的旋转关系&#xff0c;注意&#xff0c;读取的是四元数&#xff0c;应该只有四元数&#xff0c;我其实想读取RPY的&#xff0c;但是查了手册&#xff0c;没有读取RPY的函数&#xff0c;所以只能用四元数了&#xff0c;要是有新的TF库更新&#xff0c;欢迎大家告诉我&#xff0c;让我也update一下。不知道tf2有没有这个功能&#xff0c;我一直在用tf&#xff0c;没查看过tf2.</p> 
<p>2&#xff09;这一步也跟上一个创建Ground true节点的操作是一样的<br /> 在Rviz中Add一个新的Path&#xff0c;然后在topic中选择EE_trajectory这个topic&#xff0c;接着&#xff0c;控制机器人运动&#xff0c;就可以看到实时生成的轨迹了&#xff0c;下过如下图&#xff1a;<br /> <img src="https://img-blog.csdnimg.cn/20210427114909402.png?x-oss-process&#61;image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1dpbGxfWWU&#61;,size_16,color_FFFFFF,t_70#pic_center" alt="showtrajectory" />上图中红色线是实时生成的轨迹&#xff0c;绿色线就是ground true的轨迹了&#xff0c;这样一对比&#xff0c;就很清楚的知道控制部分的代码效果如何了。</p> 
<p>此外&#xff0c;如果觉得线条不够粗&#xff0c;可以在<code>path</code>中选择线性&#xff0c;默认的<code>line style</code>是<code>lines</code>&#xff0c;但是还有另一种<code>Billboards</code>&#xff0c;这个类型多了一个参数&#xff0c;就是line width&#xff0c;然后就可以根据实际需要&#xff0c;改变线宽了&#xff0c;但是我用这个类型的时候&#xff0c;不知道为什么&#xff0c;rviz会突然自己关闭&#xff0c;很奇怪&#xff0c;用lines类型就没出现这种情况。<br /> <img src="https://img-blog.csdnimg.cn/20210427115338717.png?x-oss-process&#61;image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1dpbGxfWWU&#61;,size_16,color_FFFFFF,t_70#pic_center" alt="line_width" /></p> 
<h3><a id="Reference_371"></a>Reference</h3> 
<ol><li> <p>ROS中rviz显示运动轨迹的常见方法:<br /> https://blog.csdn.net/u013834525/article/details/80447931?utm_medium&#61;distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-5.control&amp;dist_request_id&#61;&amp;depth_1-utm_source&#61;distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-5.control</p> </li><li> <p>ROS之rviz显示历史运动轨迹、路径的各种方法&#xff08;visualization_msgs/Marker、nav_msgs/Path&#xff09;:<br /> https://blog.csdn.net/u013834525/article/details/80447931?utm_medium&#61;distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-5.control&amp;dist_request_id&#61;&amp;depth_1-utm_source&#61;distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-5.control</p> </li><li> <p>详解ROS中的TF使用&#xff1a;<br /> https://blog.csdn.net/qq_37394634/article/details/105494587?utm_medium&#61;distribute.pc_aggpage_search_result.none-task-blog-2<sub>aggregatepage</sub>first_rank_v2~rank_aggregation-1-105494587.pc_agg_rank_aggregation&amp;utm_term&#61;ros&#43;%E4%B8%ADtf%E7%9A%84%E4%BD%BF%E7%94%A8&amp;spm&#61;1000.2123.3001.4430</p> </li><li> <p>tf::Transform Class Reference:<br /> http://docs.ros.org/en/jade/api/tf/html/c&#43;&#43;/classtf_1_1Transform.html</p> </li><li> <p>ROS之rviz显示历史运动轨迹、路径的各种方法&#xff08;visualization_msgs/Marker、nav_msgs/Path&#xff09;&#xff1a;<br /> https://haoqchen.site/2018/05/25/ROS-show-trajectory/</p> </li><li> <p>ROS在rviz中实时显示轨迹和点&#xff1a;<br /> https://yunchengjiang.blog.csdn.net/article/details/108514336?utm_medium&#61;distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-3.control&amp;dist_request_id&#61;1332036.7678.16191425010885527&amp;depth_1-utm_source&#61;distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-3.control</p> </li><li> <p>rviz中使用MarkerArray绘制地图线&#xff1a;https://blog.csdn.net/qq_35277038/article/details/84848555</p> </li><li> <p>rviz中的标记&#xff08;markers&#xff09;和交互标记&#xff08;interactive markers&#xff09;&#xff1a;https://blog.csdn.net/wxflamy/article/details/79347689?utm_medium&#61;distribute.pc_relevant.none-task-blog-baidujs_title-0&amp;spm&#61;1001.2101.3001.4242</p> </li><li> <p>Rviz教程-Marker&#xff1a;点和线&#xff08;C&#43;&#43;&#xff09;&#xff1a;https://blog.csdn.net/wilylcyu/article/details/56847503?utm_medium&#61;distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-3.control&amp;depth_1-utm_source&#61;distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-3.control</p> </li></ol>
                </div>
                <link href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/markdown_views-22a2fefd3b.css" rel="stylesheet">
                <link href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/style-4566211012.css" rel="stylesheet">
        </div>
        <div id="treeSkill"></div>
    </article>
  <script>
  $(function() {
    setTimeout(function () {
      var mathcodeList = document.querySelectorAll('.htmledit_views img.mathcode');
      if (mathcodeList.length > 0) {
        var testImg = new Image();
        testImg.onerror = function () {
          mathcodeList.forEach(function (item) {
            $(item).before('<span class="img-codecogs">\\(' + item.alt + '\\)</span>');
            $(item).remove();
          })
          MathJax.Hub.Queue(["Typeset",MathJax.Hub]);
        }
        testImg.src = mathcodeList[0].src;
      }
    }, 1000)
  })
  </script>
</div>
<div class="more-toolbox-new" id="toolBarBox">
    <div class="left-toolbox">
        <div class="toolbox-left">
            <div class="profile-box"><a class="profile-href" target="_blank" href="https://blog.csdn.net/Will_Ye"><img class="profile-img" src="https://profile.csdnimg.cn/6/A/1/3_will_ye"><span class="profile-name">Will_Ye</span></a></div>
            <div class="profile-attend">
                    <a class="tool-attend tool-bt-button tool-bt-attend" href="javascript:;" data-report-view='{"mod":"1592215036_002","spm":"1001.2101.3001.4232","extend1":"关注"}'>关注</a>
                <a class="tool-item-follow active-animation" style="display:none;">关注</a>
            </div>
        </div>
        <div class="toolbox-middle">
        <ul class="toolbox-list">
            <li class="tool-item tool-item-size tool-active is-like" id="is-like">
            <a class="tool-item-href">
                <img style="display:none;" id="is-like-imgactive-animation-like" class="animation-dom active-animation" src="https://csdnimg.cn/release/blogv2/dist/pc/img/tobarThumbUpactive.png" alt="">
                <img class="isactive" style="display:none" id="is-like-imgactive" src="https://csdnimg.cn/release/blogv2/dist/pc/img/newHeart2021Active.png" alt="">
                <img class="isdefault" style="display:block" id="is-like-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/newHeart2021Black.png" alt="">  
                <span id="spanCount" class="count ">
                        2
                </span>
            </a>
            <div class="tool-hover-tip"><span class="text space">点赞</span></div>
            </li>
            <li class="tool-item tool-item-size tool-active is-unlike" id="is-unlike">
            <a class="tool-item-href">
                <img class="isactive" style="margin-right:0px;display:none" id="is-unlike-imgactive" src="https://csdnimg.cn/release/blogv2/dist/pc/img/newUnHeart2021Active.png" alt="">
                <img class="isdefault" style="margin-right:0px;display:block" id="is-unlike-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/newUnHeart2021Black.png" alt="">
                <span id="unlikeCount" class="count "></span>
            </a>
            <div class="tool-hover-tip"><span class="text space">踩</span></div>
            </li>
            <li class="tool-item tool-item-size tool-active is-collection ">
            <a class="tool-item-href" href="javascript:;" data-report-click='{"mod":"popu_824","spm":"1001.2101.3001.4130","ab":"new"}'>
                <img style="display:none" id="is-collection-img-collection" class="animation-dom active-animation" src="https://csdnimg.cn/release/blogv2/dist/pc/img/tobarCollectionActive.png" alt="">
                <img class="isdefault" id="is-collection-img" style="display:block" src="https://csdnimg.cn/release/blogv2/dist/pc/img/newCollectBlack.png" alt="">
                <img class="isactive" id="is-collection-imgactive" style="display:none" src="https://csdnimg.cn/release/blogv2/dist/pc/img/newCollectActive.png" alt="">
                <span class="count get-collection " id="get-collection">
                    30
                </span>
            </a>
            <div class="tool-hover-tip"><span class="text space">收藏</span></div>
            </li>
            <li class="tool-item tool-item-size tool-active tool-item-reward">
                <a class="tool-item-href" href="javascript:;" data-report-click='{"mod":"popu_830","spm":"1001.2101.3001.4237","dest":"","ab":"new"}'>
                <img class="isdefault reward-bt" id="rewardBtNew" src="https://csdnimg.cn/release/blogv2/dist/pc/img/newRewardBlack.png" alt="打赏">
                <span class="count"></span>
                </a>
                <div class="tool-hover-tip"><span class="text space">打赏</span></div>
            </li>
            <li class="tool-item tool-item-size tool-active tool-item-comment">
            <a class="tool-item-href go-side-comment" data-report-click='{"spm":"1001.2101.3001.7009"}'>
                <img class="isdefault" src="https://csdnimg.cn/release/blogv2/dist/pc/img/newComment2021Black.png" alt="">
                <span class="count">
                    0
                </span>
            </a>
            <div class="tool-hover-tip"><span class="text space">评论</span></div>
            </li>
            <li class="tool-item tool-item-bar">
            </li>
            <li class="tool-item tool-item-size tool-active tool-QRcode" id="tool-share">
                <a class="tool-item-href" href="javascript:;" data-report-click='{"mod":"1582594662_002","spm":"1001.2101.3001.4129","ab":"new"}'>
                    <img class="isdefault" src="https://csdnimg.cn/release/blogv2/dist/pc/img/newShareBlack.png" alt="">
                </a>
                <div class="QRcode" id="tool-QRcode">
                    <div class="share-bg-icon icon1" id="shareBgIcon"></div>
                    <div class="share-bg-box">
                        <div class="share-content">
                            <img class="share-avatar" src="https://profile.csdnimg.cn/6/A/1/3_will_ye" alt="">
                            <div class="share-tit">Rviz显示理想的运动的轨迹，并对比实时的运动轨迹</div>
                            <div class="share-dec">ReferenceROS中rviz显示运动轨迹的常见方法:https://blog.csdn.net/u013834525/article/details/80447931?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-5.control&amp;amp;dist_request_id=&amp;amp;depth_1-utm_source=distribute.pc_rel</div>
                            <a id="copyPosterUrl" class="url" data-report-click='{"spm":"1001.2101.3001.7493"}' data-report-view='{"spm":"1001.2101.3001.7493"}'>复制链接</a>
                        </div>
                        <div class="share-code">
                            <div class="share-code-box" id='shareCode'></div>
                            <div class="share-code-text">扫一扫</div>
                        </div>
                        
                    </div>
                    <div class="share-code-type">
                      
                    </div>
                </div>
            </li>
        </ul>
        </div>
        <div class="toolbox-right">
                <div class="tool-directory">
                    <a class="bt-columnlist-show"
                    data-id="7492009"
                    data-free="true"
                    data-subscribe="false"
                    data-title="ROS learning"
                    data-img="https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64"
                    data-url="https://blog.csdn.net/will_ye/category_7492009.html"
                    data-sum="40"
                    data-people="12"
                    data-price="0"
                    data-oldprice="0"
                    data-join="false"
                    data-studyvip="false"
                    data-studysubscribe="false"
                    data-report-view='{"spm":"1001.2101.3001.6334","extend1":"专栏目录"}'
                    data-report-click='{"spm":"1001.2101.3001.6334","extend1":"专栏目录"}'
                    >专栏目录</a>
                </div>
        </div>
    </div>  
</div>
<script type=text/javascript crossorigin src="https://csdnimg.cn/release/phoenix/production/qrcode-7c90a92189.min.js"></script>
<script src="//g.csdnimg.cn/??sharewx/1.2.1/sharewx.js" type="text/javascript"></script>
<script type="text/javascript" crossorigin src="https://g.csdnimg.cn/common/csdn-login-box/csdn-login-box.js"></script>
<script type="text/javascript" crossorigin src="https://g.csdnimg.cn/collection-box/2.1.0/collection-box.js"></script>
                <div class="first-recommend-box recommend-box ">
<div class="recommend-item-box type_blog clearfix" data-url="https://blog.csdn.net/orange_littlegirl/article/details/99222743"  data-report-view='{"ab":"new","spm":"1001.2101.3001.6661.1","mod":"popu_871","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant_t0.none-task-blog-2~default~CTRLIST~Rate-1-99222743-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"1","strategy":"2~default~CTRLIST~Rate","dest":"https://blog.csdn.net/orange_littlegirl/article/details/99222743"}'>
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://blog.csdn.net/orange_littlegirl/article/details/99222743" class="tit" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6661.1","mod":"popu_871","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant_t0.none-task-blog-2~default~CTRLIST~Rate-1-99222743-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"1","strategy":"2~default~CTRLIST~Rate","dest":"https://blog.csdn.net/orange_littlegirl/article/details/99222743"}'  data-report-query='spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-99222743-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-99222743-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
					<div class="left ellipsis-online ellipsis-online-1"><em>ROS</em>中<em>rviz</em><em>显示</em><em>运动</em><em>轨迹</em>的常见方法</div>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/orange_littlegirl" target="_blank"><span class="blog-title">蒋成的博客</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">08-11</span>
					<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
					1万+
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://blog.csdn.net/orange_littlegirl/article/details/99222743" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6661.1","mod":"popu_871","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant_t0.none-task-blog-2~default~CTRLIST~Rate-1-99222743-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"1","strategy":"2~default~CTRLIST~Rate","dest":"https://blog.csdn.net/orange_littlegirl/article/details/99222743"}'  data-report-query='spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-99222743-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-99222743-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
				<div class="desc ellipsis-online ellipsis-online-1">文章目录1.利用nav_msgs/Path消息实现<em>轨迹</em><em>显示</em>
1.利用nav_msgs/Path消息实现<em>轨迹</em><em>显示</em>

主函数showpath.cpp

#include &lt;<em>ros</em>/<em>ros</em>.h&gt;
#include &lt;<em>ros</em>/console.h&gt;
#include &lt;nav_msgs/Path.h&gt;
#include &lt;std_msgs/String.h&gt;
...</div>
			</a>
		</div>
	</div>
</div>
                </div>
            <script src="https://csdnimg.cn/release/blogv2/dist/components/js/pc_wap_commontools-d5fda285fa.min.js" type="text/javascript" async></script>
            <div class="second-recommend-box recommend-box ">
<div class="recommend-item-box type_blog clearfix" data-url="https://blog.csdn.net/GGY1102/article/details/123837431"  data-report-view='{"ab":"new","spm":"1001.2101.3001.6650.1","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-1-123837431-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"1","strategy":"2~default~CTRLIST~Rate","dest":"https://blog.csdn.net/GGY1102/article/details/123837431"}'>
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://blog.csdn.net/GGY1102/article/details/123837431" class="tit" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.1","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-1-123837431-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"1","strategy":"2~default~CTRLIST~Rate","dest":"https://blog.csdn.net/GGY1102/article/details/123837431"}'  data-report-query='spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-123837431-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-123837431-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
					<div class="left ellipsis-online ellipsis-online-1"><em>ROS</em>+Turtlebot3+<em>RVIZ</em> <em>显示</em>机器人历史<em>轨迹</em>方法</div>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/GGY1102" target="_blank"><span class="blog-title">GGY1102的博客</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">03-30</span>
					<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
					3238
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://blog.csdn.net/GGY1102/article/details/123837431" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.1","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-1-123837431-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"1","strategy":"2~default~CTRLIST~Rate","dest":"https://blog.csdn.net/GGY1102/article/details/123837431"}'  data-report-query='spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-123837431-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-123837431-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
				<div class="desc ellipsis-online ellipsis-online-1">一、如果只是<em>RVIZ</em>查看移动机器人的历史<em>轨迹</em>方法

1. 打开gazebo模型， 之后 slam构建地图， 之后保存地图，之后新终端打开导航包。

2. 再将以下网友的代码在turtlebot的catkin_ws编译，并运行。

3. 在<em>rviz</em>中add一个marker的主题。就可以查看到移动机器人行走的<em>轨迹</em>。

以下网友的方法比较详细，亲测了一下没问题。

<em>RVIZ</em>中利用markers标记历史路径（超详细）_零度蛋花粥的博客-CSDN博客写在前面最近有道作业题需要将机器人的历史路径<em>显示</em>出来，但是网上很..</div>
			</a>
		</div>
	</div>
</div>
            </div>
<a id="commentBox" name="commentBox"></a>
<div id="pcCommentBox" class="comment-box comment-box-new2  login-comment-box-new" style="display:block">
		<div class="has-comment" style="display:none">
		<div class="has-comment-tit">评论<span class="count go-side-comment">0</span><span class="text go-side-comment">条</span><img class="go-side-comment more" src="https://csdnimg.cn/release/blogv2/dist/pc/img/commentArrowRightWhite.png" alt=""><a class="has-comment-bt-right go-side-comment focus">写评论</a></div>
			<div class="has-comment-con comment-operate-item"></div>
		</div>
		<div class="unhas-comment" style="display:flex">
			<div class="unhas-comment-left">评论</div>
			<div class="unhas-comment-right"><a class="go-side-comment focus">写评论</a></div>
		</div>
</div>
            <div class="recommend-box insert-baidu-box recommend-box-style ">
                <div class="recommend-item-box no-index" style="display:none"></div>
<div class="recommend-item-box type_download clearfix" data-url="https://download.csdn.net/download/songguozhi/724633"  data-report-view='{"ab":"new","spm":"1001.2101.3001.6650.2","mod":"popu_387","extra":"{\"highlightScore\":\"0.0\",\"utm_medium\":\"distribute.pc_relevant.none-task-download-2~default~AD_ESLANDING~default-2-724633-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"default","index":"2","strategy":"2~default~AD_ESLANDING~default","dest":"https://download.csdn.net/download/songguozhi/724633"}'>
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://download.csdn.net/download/songguozhi/724633" class="tit" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.2","mod":"popu_387","extra":"{\"highlightScore\":\"0.0\",\"utm_medium\":\"distribute.pc_relevant.none-task-download-2~default~AD_ESLANDING~default-2-724633-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"default","index":"2","strategy":"2~default~AD_ESLANDING~default","dest":"https://download.csdn.net/download/songguozhi/724633"}'  data-report-query='spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-download-2%7Edefault%7EAD_ESLANDING%7Edefault-2-724633-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-download-2%7Edefault%7EAD_ESLANDING%7Edefault-2-724633-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
					<div class="left ellipsis-online ellipsis-online-1"><em>实时</em>动态<em>曲线图</em>（与Windows xp系统的cpu利用率曲线一样）</div>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info display-flex">
					<span class="info-block">10-27</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://download.csdn.net/download/songguozhi/724633" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.2","mod":"popu_387","extra":"{\"highlightScore\":\"0.0\",\"utm_medium\":\"distribute.pc_relevant.none-task-download-2~default~AD_ESLANDING~default-2-724633-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"default","index":"2","strategy":"2~default~AD_ESLANDING~default","dest":"https://download.csdn.net/download/songguozhi/724633"}'  data-report-query='spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-download-2%7Edefault%7EAD_ESLANDING%7Edefault-2-724633-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-download-2%7Edefault%7EAD_ESLANDING%7Edefault-2-724633-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
				<div class="desc ellipsis-online ellipsis-online-1"><em>实时</em>动态<em>曲线图</em>

源代码与说明文件在我的资源列表里面：《用Flash与C语言制作工程<em>实时</em>数据动态<em>曲线图</em>》http://download.csdn.net/source/607704
这是由于当时上传源码时，忘记附带一个效果图，后来才上传的这个</div>
			</a>
		</div>
	</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://lightsail.blog.csdn.net/article/details/70256437"  data-report-view='{"ab":"new","spm":"1001.2101.3001.6650.3","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-3-70256437-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"3","strategy":"2~default~CTRLIST~Rate","dest":"https://lightsail.blog.csdn.net/article/details/70256437"}'>
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://lightsail.blog.csdn.net/article/details/70256437" class="tit" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.3","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-3-70256437-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"3","strategy":"2~default~CTRLIST~Rate","dest":"https://lightsail.blog.csdn.net/article/details/70256437"}'  data-report-query='spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-3-70256437-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-3-70256437-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
					<div class="left ellipsis-online ellipsis-online-1">（九）<em>ROS</em>在<em>rviz</em>中<em>实时</em><em>显示</em><em>轨迹</em>（nav_msgs/Path消息的使用）</div>
					<div class="tag">热门推荐</div>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/ktigerhero3" target="_blank"><span class="blog-title">沧海一帆的专栏</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">04-20</span>
					<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
					3万+
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://lightsail.blog.csdn.net/article/details/70256437" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.3","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-3-70256437-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"3","strategy":"2~default~CTRLIST~Rate","dest":"https://lightsail.blog.csdn.net/article/details/70256437"}'  data-report-query='spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-3-70256437-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-3-70256437-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
				<div class="desc ellipsis-online ellipsis-online-1">如何在<em>rviz</em>中如何<em>实时</em><em>显示</em><em>轨迹</em>呢？
本文分析nav_msgs/Path结构，实现在<em>rviz</em>中画出圆形<em>轨迹</em>。</div>
			</a>
		</div>
	</div>
</div>
		<dl id="recommend-item-box-tow" class="recommend-item-box type_blog clearfix">
			<div id="kp_box_59" data-pid="59"><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-1076724771190722"
     crossorigin="anonymous"></script>
<ins class="adsbygoogle"
     style="display:block"
     data-ad-format="fluid"
     data-ad-layout-key="-i0-f+2e-23-1h"
     data-ad-client="ca-pub-1076724771190722"
     data-ad-slot="3854176062"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script><img class="pre-img-lasy" data-src="https://kunyu.csdn.net/1.png?p=59&adId=1019525&a=1019525&c=0&k=Rviz显示理想的运动的轨迹，并对比实时的运动轨迹&spm=1001.2101.3001.5003&articleId=116061302&d=1&t=3&u=ed41982177c8411bb9695234a3d64457" style="display: block;width: 0px;height: 0px;"></div>
		</dl>
<div class="recommend-item-box type_blog clearfix" data-url="https://blog.csdn.net/weixin_42403965/article/details/105387619"  data-report-view='{"ab":"new","spm":"1001.2101.3001.6650.4","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-4-105387619-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"4","strategy":"2~default~CTRLIST~Rate","dest":"https://blog.csdn.net/weixin_42403965/article/details/105387619"}'>
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://blog.csdn.net/weixin_42403965/article/details/105387619" class="tit" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.4","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-4-105387619-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"4","strategy":"2~default~CTRLIST~Rate","dest":"https://blog.csdn.net/weixin_42403965/article/details/105387619"}'  data-report-query='spm=1001.2101.3001.6650.4&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-4-105387619-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-4-105387619-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
					<div class="left ellipsis-online ellipsis-online-1">Qt使用<em>RVIZ</em>库点云<em>显示</em></div>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/weixin_42403965" target="_blank"><span class="blog-title">weixin_42403965的博客</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">04-08</span>
					<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
					1603
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://blog.csdn.net/weixin_42403965/article/details/105387619" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.4","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-4-105387619-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"4","strategy":"2~default~CTRLIST~Rate","dest":"https://blog.csdn.net/weixin_42403965/article/details/105387619"}'  data-report-query='spm=1001.2101.3001.6650.4&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-4-105387619-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-4-105387619-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
				<div class="desc ellipsis-online ellipsis-online-1">参考：
https://www.ncnynl.com/archives/201903/2871.html
https://blog.csdn.net/u010008647/article/details/105222198/

</div>
			</a>
		</div>
	</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://blog.csdn.net/just_do_it567/article/details/114303218"  data-report-view='{"ab":"new","spm":"1001.2101.3001.6650.5","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-5-114303218-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"5","strategy":"2~default~CTRLIST~Rate","dest":"https://blog.csdn.net/just_do_it567/article/details/114303218"}'>
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://blog.csdn.net/just_do_it567/article/details/114303218" class="tit" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.5","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-5-114303218-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"5","strategy":"2~default~CTRLIST~Rate","dest":"https://blog.csdn.net/just_do_it567/article/details/114303218"}'  data-report-query='spm=1001.2101.3001.6650.5&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-5-114303218-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-5-114303218-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
					<div class="left ellipsis-online ellipsis-online-1"><em>Rviz</em><em>显示</em>机器人<em>运动</em><em>轨迹</em></div>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/just_do_it567" target="_blank"><span class="blog-title">just_do_it567的博客</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">03-03</span>
					<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
					2977
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://blog.csdn.net/just_do_it567/article/details/114303218" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.5","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-5-114303218-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"5","strategy":"2~default~CTRLIST~Rate","dest":"https://blog.csdn.net/just_do_it567/article/details/114303218"}'  data-report-query='spm=1001.2101.3001.6650.5&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-5-114303218-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-5-114303218-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
				<div class="desc ellipsis-online ellipsis-online-1">在实际操作机器人进行移动的时候，虽然直接观察机器人本身是比较直观的，但是无法查看到机器人<em>运动</em>过程中比较细微的变化（比如方向的变化），那么就需要将机器人的<em>运动</em><em>轨迹</em>用可视化软件<em>Rviz</em><em>显示</em>出来以便于观察。这个功能是利用<em>Rviz</em>中的Path类型实现的，只需要将机器人的位置信息已nav_msgs/Path类型的消息的形式发布到<em>ROS</em>系统中，然后在<em>Rviz</em>上订阅该类型的消息就可以<em>显示</em>机器人的<em>运动</em><em>轨迹</em>了

    下面了解一下nav_msgs/Path类型数据的数据结构：


Header he...</div>
			</a>
		</div>
	</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://blog.csdn.net/saluzi2017/article/details/124884224"  data-report-view='{"ab":"new","spm":"1001.2101.3001.6650.6","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-6-124884224-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"6","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/saluzi2017/article/details/124884224"}'>
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://blog.csdn.net/saluzi2017/article/details/124884224" class="tit" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.6","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-6-124884224-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"6","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/saluzi2017/article/details/124884224"}'  data-report-query='spm=1001.2101.3001.6650.6&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-6-124884224-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-6-124884224-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
					<div class="left ellipsis-online ellipsis-online-1"><em>ROS</em>：GPS坐标序列可视化（在<em>Rviz</em>中<em>显示</em><em>轨迹</em>）</div>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/saluzi2017" target="_blank"><span class="blog-title">saluzi2017的博客</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">05-20</span>
					<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
					2305
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://blog.csdn.net/saluzi2017/article/details/124884224" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.6","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-6-124884224-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"6","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/saluzi2017/article/details/124884224"}'  data-report-query='spm=1001.2101.3001.6650.6&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-6-124884224-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-6-124884224-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
				<div class="desc ellipsis-online ellipsis-online-1">GPS坐标是经纬度，无法直接在<em>rviz</em>中形成<em>轨迹</em>，本程序实现了以下功能：
1.将GPS<em>轨迹</em>，从经纬度WGS-84坐标转换到真实世界xyz坐标系（东北天ENU）下（思路：计算出每个gps坐标相对与第一个坐标的距离（m为单位），比较相邻两点的经纬度变化，赋予位移的方向，然后累加得到<em>轨迹</em>）
gps_to_<em>rviz</em>.cpp
#include &lt;<em>ros</em>/<em>ros</em>.h&gt;
#include &quot;turtlesim/Pose.h&quot;
#include &lt;sensor_msgs/NavSatFix.h&gt;
#</div>
			</a>
		</div>
	</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://blog.csdn.net/learning_tortosie/article/details/103136707"  data-report-view='{"ab":"new","spm":"1001.2101.3001.6650.7","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-7-103136707-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"7","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/learning_tortosie/article/details/103136707"}'>
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://blog.csdn.net/learning_tortosie/article/details/103136707" class="tit" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.7","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-7-103136707-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"7","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/learning_tortosie/article/details/103136707"}'  data-report-query='spm=1001.2101.3001.6650.7&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-7-103136707-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-7-103136707-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
					<div class="left ellipsis-online ellipsis-online-1">在<em>rviz</em>中使用点和线可视化<em>轨迹</em>（Markers: Points and Lines）</div>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/learning_tortosie" target="_blank"><span class="blog-title">W_Tortoise的博客</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">11-19</span>
					<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
					3128
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://blog.csdn.net/learning_tortosie/article/details/103136707" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.7","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-7-103136707-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"7","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/learning_tortosie/article/details/103136707"}'  data-report-query='spm=1001.2101.3001.6650.7&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-7-103136707-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-7-103136707-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
				<div class="desc ellipsis-online ellipsis-online-1">1 介绍
在做位姿相关的研究时，我们希望直观的可视化<em>轨迹</em>，尤其是对比不同的<em>轨迹</em>。
本教程将向您介绍POINTS，LINE_STRIP和LINE_LIST标记类型。有关类型的完整列表，请参见&ldquo;标记<em>显示</em>&rdquo;页面。
2 使用Points, Line Strips, and Line Lists
POINTS，LINE_STRIP和LINE_LIST标记都使用visualization_msgs/Marke...</div>
			</a>
		</div>
	</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://zhaohailong.blog.csdn.net/article/details/123394976"  data-report-view='{"ab":"new","spm":"1001.2101.3001.6650.8","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-8-123394976-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"8","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://zhaohailong.blog.csdn.net/article/details/123394976"}'>
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://zhaohailong.blog.csdn.net/article/details/123394976" class="tit" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.8","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-8-123394976-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"8","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://zhaohailong.blog.csdn.net/article/details/123394976"}'  data-report-query='spm=1001.2101.3001.6650.8&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-8-123394976-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-8-123394976-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
					<div class="left ellipsis-online ellipsis-online-1">激光SLAM:图优化---基本概念+<em>Rviz</em><em>显示</em>位姿图</div>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/qq_32761549" target="_blank"><span class="blog-title">月照银海似蛟龙的博客</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">03-14</span>
					<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
					1329
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://zhaohailong.blog.csdn.net/article/details/123394976" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.8","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-8-123394976-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"8","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://zhaohailong.blog.csdn.net/article/details/123394976"}'  data-report-query='spm=1001.2101.3001.6650.8&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-8-123394976-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-8-123394976-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
				<div class="desc ellipsis-online ellipsis-online-1">SLAM中的图优化---基本概念及<em>Rviz</em><em>显示</em>位姿图codePose Graph的概念图的构建帧间边回环边一个简单的回环检测方法图优化简单例程Pose Graph rivz<em>显示</em>CodeResult
图优化本身有成形的 开源的库 例如

g2o
ceres
gtsam

搞SLAM的话,最好可以理解其概念,然后再用好现成的工具.本篇主要介绍图优化的基本概念.以及在<em>RVIZ</em>中<em>显示</em>位姿图的代码
Pose Graph的概念
用一个图(Graph 图论)来表示SLAM问题

图中的节点来表示机器人的位姿      二</div>
			</a>
		</div>
	</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://blog.csdn.net/qq_41102371/article/details/126838142"  data-report-view='{"ab":"new","spm":"1001.2101.3001.6650.9","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-9-126838142-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"9","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/qq_41102371/article/details/126838142"}'>
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://blog.csdn.net/qq_41102371/article/details/126838142" class="tit" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.9","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-9-126838142-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"9","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/qq_41102371/article/details/126838142"}'  data-report-query='spm=1001.2101.3001.6650.9&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-9-126838142-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-9-126838142-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
					<div class="left ellipsis-online ellipsis-online-1"><em>ros</em> <em>rviz</em><em>显示</em>orb-slam2保存的<em>轨迹</em></div>
					<div class="tag">最新发布</div>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/qq_41102371" target="_blank"><span class="blog-title">诺有缸的高飞鸟的博客</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">09-13</span>
					<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
					282
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://blog.csdn.net/qq_41102371/article/details/126838142" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.9","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-9-126838142-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"9","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/qq_41102371/article/details/126838142"}'  data-report-query='spm=1001.2101.3001.6650.9&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-9-126838142-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-9-126838142-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
				<div class="desc ellipsis-online ellipsis-online-1"><em>ros</em> <em>rviz</em><em>显示</em>orb-slam2保存的<em>轨迹</em></div>
			</a>
		</div>
	</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://joveh-h.blog.csdn.net/article/details/115408569"  data-report-view='{"ab":"new","spm":"1001.2101.3001.6650.10","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-10-115408569-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"10","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://joveh-h.blog.csdn.net/article/details/115408569"}'>
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://joveh-h.blog.csdn.net/article/details/115408569" class="tit" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.10","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-10-115408569-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"10","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://joveh-h.blog.csdn.net/article/details/115408569"}'  data-report-query='spm=1001.2101.3001.6650.10&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-10-115408569-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-10-115408569-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
					<div class="left ellipsis-online ellipsis-online-1"><em>ROS</em> <em>Rviz</em> <em>显示</em><em>轨迹</em> Python</div>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/qq_32618327" target="_blank"><span class="blog-title">氢键H-H</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">04-02</span>
					<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
					1万+
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://joveh-h.blog.csdn.net/article/details/115408569" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.10","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-10-115408569-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"10","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://joveh-h.blog.csdn.net/article/details/115408569"}'  data-report-query='spm=1001.2101.3001.6650.10&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-10-115408569-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-10-115408569-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
				<div class="desc ellipsis-online ellipsis-online-1">在<em>ROS</em>环境利用Python实现<em>Rviz</em><em>显示</em><em>轨迹</em></div>
			</a>
		</div>
	</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://blog.csdn.net/qinqinxiansheng/article/details/111291110"  data-report-view='{"ab":"new","spm":"1001.2101.3001.6650.11","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-11-111291110-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"11","strategy":"2~default~CTRLIST~Rate","dest":"https://blog.csdn.net/qinqinxiansheng/article/details/111291110"}'>
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://blog.csdn.net/qinqinxiansheng/article/details/111291110" class="tit" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.11","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-11-111291110-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"11","strategy":"2~default~CTRLIST~Rate","dest":"https://blog.csdn.net/qinqinxiansheng/article/details/111291110"}'  data-report-query='spm=1001.2101.3001.6650.11&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-11-111291110-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-11-111291110-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
					<div class="left ellipsis-online ellipsis-online-1"><em>ROS</em>入门:GPS坐标转换&amp;<em>Rviz</em><em>显示</em><em>轨迹</em></div>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/qinqinxiansheng" target="_blank"><span class="blog-title">Mr Qin的博客</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">12-16</span>
					<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
					4812
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://blog.csdn.net/qinqinxiansheng/article/details/111291110" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.11","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-11-111291110-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"11","strategy":"2~default~CTRLIST~Rate","dest":"https://blog.csdn.net/qinqinxiansheng/article/details/111291110"}'  data-report-query='spm=1001.2101.3001.6650.11&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-11-111291110-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-11-111291110-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
				<div class="desc ellipsis-online ellipsis-online-1">#include &lt;<em>ros</em>/<em>ros</em>.h&gt;
#include &quot;turtlesim/Pose.h&quot;
#include &lt;sensor_msgs/NavSatFix.h&gt;
#include &lt;geometry_msgs/PoseStamped.h&gt;
#include &lt;nav_msgs/Path.h&gt;
#include &lt;math.h&gt;

struct my_pose
{
    double latitude;
    double longitud</div>
			</a>
		</div>
	</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://blog.csdn.net/xwmrqqq/article/details/115032131"  data-report-view='{"ab":"new","spm":"1001.2101.3001.6650.12","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-12-115032131-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"12","strategy":"2~default~CTRLIST~Rate","dest":"https://blog.csdn.net/xwmrqqq/article/details/115032131"}'>
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://blog.csdn.net/xwmrqqq/article/details/115032131" class="tit" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.12","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-12-115032131-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"12","strategy":"2~default~CTRLIST~Rate","dest":"https://blog.csdn.net/xwmrqqq/article/details/115032131"}'  data-report-query='spm=1001.2101.3001.6650.12&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-12-115032131-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-12-115032131-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
					<div class="left ellipsis-online ellipsis-online-1">Gazebo机器人仿真 &mdash;&mdash; 通过<em>Rviz</em><em>显示</em>传感器(camera、kinect、Lidar)采集信息</div>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/xwmrqqq" target="_blank"><span class="blog-title">xwmrcj的博客</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">03-20</span>
					<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
					1698
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://blog.csdn.net/xwmrqqq/article/details/115032131" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.12","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-12-115032131-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"12","strategy":"2~default~CTRLIST~Rate","dest":"https://blog.csdn.net/xwmrqqq/article/details/115032131"}'  data-report-query='spm=1001.2101.3001.6650.12&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-12-115032131-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-12-115032131-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
				<div class="desc ellipsis-online ellipsis-online-1">文章目录一、安装<em>Rviz</em>工具二、搭建gazebo机器人物理仿真环境三、gazebo搭建传感器仿真环境，并通过<em>Rviz</em>数据<em>显示</em>四、参考????
一、安装<em>Rviz</em>工具
1. 准备工作
如何在虚拟机下打开摄像头，请参考：OpenCV在Ubuntu下的图像编程的第三步。
2. 安装相关功能包
sudo apt-get install <em>ros</em>-melodic-uvc-camera
sudo apt-get install <em>ros</em>-melodic-image-*
sudo apt-get install <em>ros</em>-mel</div>
			</a>
		</div>
	</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://conscience-still.blog.csdn.net/article/details/124269402"  data-report-view='{"ab":"new","spm":"1001.2101.3001.6650.13","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-13-124269402-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"13","strategy":"2~default~CTRLIST~Rate","dest":"https://conscience-still.blog.csdn.net/article/details/124269402"}'>
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://conscience-still.blog.csdn.net/article/details/124269402" class="tit" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.13","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-13-124269402-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"13","strategy":"2~default~CTRLIST~Rate","dest":"https://conscience-still.blog.csdn.net/article/details/124269402"}'  data-report-query='spm=1001.2101.3001.6650.13&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-13-124269402-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-13-124269402-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
					<div class="left ellipsis-online ellipsis-online-1">关于<em>ros</em>版本问题导致MarkerArray的不<em>显示</em>解决</div>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/lyn631579741" target="_blank"><span class="blog-title">良知犹存的博客</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">04-19</span>
					<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
					902
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://conscience-still.blog.csdn.net/article/details/124269402" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.13","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-13-124269402-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"13","strategy":"2~default~CTRLIST~Rate","dest":"https://conscience-still.blog.csdn.net/article/details/124269402"}'  data-report-query='spm=1001.2101.3001.6650.13&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-13-124269402-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-13-124269402-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
				<div class="desc ellipsis-online ellipsis-online-1">[ERROR] [1501915695.729391644]: Client [/<em>rviz</em>_1650338584890468180] wants topic /pp/clean_mode/target_marker to have datatype/md5sum [visualization_msgs/Marker/4048c9de2a16f4ae8e0538085ebf1b97], but our version has [visualization_msgs/Marker/18326976df9d292</div>
			</a>
		</div>
	</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://blog.csdn.net/Netceor/article/details/118662111"  data-report-view='{"ab":"new","spm":"1001.2101.3001.6650.14","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-14-118662111-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"14","strategy":"2~default~CTRLIST~Rate","dest":"https://blog.csdn.net/Netceor/article/details/118662111"}'>
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://blog.csdn.net/Netceor/article/details/118662111" class="tit" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.14","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-14-118662111-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"14","strategy":"2~default~CTRLIST~Rate","dest":"https://blog.csdn.net/Netceor/article/details/118662111"}'  data-report-query='spm=1001.2101.3001.6650.14&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-14-118662111-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-14-118662111-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
					<div class="left ellipsis-online ellipsis-online-1"><em>ROS</em>入门(五)&mdash;&mdash;仿真机器人一（URDF+<em>Rviz</em>）</div>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/Netceor" target="_blank"><span class="blog-title">Netceor的博客</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">07-12</span>
					<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
					3137
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://blog.csdn.net/Netceor/article/details/118662111" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.14","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-14-118662111-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"14","strategy":"2~default~CTRLIST~Rate","dest":"https://blog.csdn.net/Netceor/article/details/118662111"}'  data-report-query='spm=1001.2101.3001.6650.14&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-14-118662111-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-14-118662111-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
				<div class="desc ellipsis-online ellipsis-online-1">参考链接

【奥特学园】<em>ROS</em>机器人入门课程《<em>ROS</em>理论与实践》零基础教程P229-270

【以上视频笔记见http://www.autolabor.com.cn/book/<em>ROS</em>Tutorials/】
</div>
			</a>
		</div>
	</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://blog.csdn.net/orange_littlegirl/article/details/106542743"  data-report-view='{"ab":"new","spm":"1001.2101.3001.6650.15","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-15-106542743-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"15","strategy":"2~default~CTRLIST~Rate","dest":"https://blog.csdn.net/orange_littlegirl/article/details/106542743"}'>
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://blog.csdn.net/orange_littlegirl/article/details/106542743" class="tit" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.15","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-15-106542743-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"15","strategy":"2~default~CTRLIST~Rate","dest":"https://blog.csdn.net/orange_littlegirl/article/details/106542743"}'  data-report-query='spm=1001.2101.3001.6650.15&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-15-106542743-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-15-106542743-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
					<div class="left ellipsis-online ellipsis-online-1">无人驾驶算法学习（十五）：高精度地图数据存储框架Lanelet2</div>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/orange_littlegirl" target="_blank"><span class="blog-title">蒋成的博客</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">06-04</span>
					<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
					1万+
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://blog.csdn.net/orange_littlegirl/article/details/106542743" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.15","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-15-106542743-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"15","strategy":"2~default~CTRLIST~Rate","dest":"https://blog.csdn.net/orange_littlegirl/article/details/106542743"}'  data-report-query='spm=1001.2101.3001.6650.15&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-15-106542743-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-15-106542743-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
				<div class="desc ellipsis-online ellipsis-online-1">文章目录1.引言2.lanelet2特点3.数据结构3.1	Points3.2 Linestrings3.3 Polygon3.4 Lanelets3.5 Areas3.6 regElem （Regulatory elements ）4.软件模块4.1 Core4.2	Traffic Rules4.3	Physical4.4	Routing4.5	Matching4.6.	Projection4.7.	IO5.OSM高精度地图5.1.	Node5.2.	Way5.3.	Relation5.4.	Tag5.5</div>
			</a>
		</div>
	</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://yunchengjiang.blog.csdn.net/article/details/108514336"  data-report-view='{"ab":"new","spm":"1001.2101.3001.6650.16","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-16-108514336-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"16","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://yunchengjiang.blog.csdn.net/article/details/108514336"}'>
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://yunchengjiang.blog.csdn.net/article/details/108514336" class="tit" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.16","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-16-108514336-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"16","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://yunchengjiang.blog.csdn.net/article/details/108514336"}'  data-report-query='spm=1001.2101.3001.6650.16&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-16-108514336-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-16-108514336-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
					<div class="left ellipsis-online ellipsis-online-1"><em>ROS</em>在<em>rviz</em>中<em>实时</em><em>显示</em><em>轨迹</em>和点</div>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/gophae" target="_blank"><span class="blog-title">gophae的博客</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">09-10</span>
					<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
					6117
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://yunchengjiang.blog.csdn.net/article/details/108514336" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.16","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-16-108514336-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"16","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://yunchengjiang.blog.csdn.net/article/details/108514336"}'  data-report-query='spm=1001.2101.3001.6650.16&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-16-108514336-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-16-108514336-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
				<div class="desc ellipsis-online ellipsis-online-1">记录一个简单的例子方便复制：
通过使用
nav_msgs::Path
geometry_msgs::PoseStamped
geometry_msgs::PointStamped

来实现<em>rviz</em>中可视化<em>轨迹</em>和<em>轨迹</em>点。
首先创建工程：
mkdir -p showpath/src
cd src
catkin_create_pkg showpath <em>ros</em>cpp <em>ros</em>py sensor_msgs std_msgs nav_msgs tf
cd ..
catkin_make 

以及修改cmakelist:
a</div>
			</a>
		</div>
	</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://blog.csdn.net/weixin_42638797/article/details/118757025"  data-report-view='{"ab":"new","spm":"1001.2101.3001.6650.17","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-17-118757025-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"17","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/weixin_42638797/article/details/118757025"}'>
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://blog.csdn.net/weixin_42638797/article/details/118757025" class="tit" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.17","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-17-118757025-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"17","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/weixin_42638797/article/details/118757025"}'  data-report-query='spm=1001.2101.3001.6650.17&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-17-118757025-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-17-118757025-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
					<div class="left ellipsis-online ellipsis-online-1"><em>ROS</em>订阅odom里程计消息，并在<em>RVIZ</em>中<em>显示</em><em>轨迹</em></div>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/weixin_42638797" target="_blank"><span class="blog-title">weixin_42638797的博客</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">07-15</span>
					<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
					3458
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://blog.csdn.net/weixin_42638797/article/details/118757025" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.17","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-17-118757025-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"17","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/weixin_42638797/article/details/118757025"}'  data-report-query='spm=1001.2101.3001.6650.17&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-17-118757025-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-17-118757025-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
				<div class="desc ellipsis-online ellipsis-online-1">ubuntu16.04 kinetic

showpath


#include &lt;<em>ros</em>/<em>ros</em>.h&gt;
#include &lt;<em>ros</em>/console.h&gt;
#include &lt;nav_msgs/Path.h&gt;
#include &lt;nav_msgs/Odometry.h&gt;
#include &lt;std_msgs/String.h&gt;
#include &lt;geometry_msgs/Quaternion.h&gt;
#include &lt;geom</div>
			</a>
		</div>
	</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://blog.csdn.net/ChuiGeDaQiQiu/article/details/119979882"  data-report-view='{"ab":"new","spm":"1001.2101.3001.6650.18","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-18-119979882-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"18","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/ChuiGeDaQiQiu/article/details/119979882"}'>
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://blog.csdn.net/ChuiGeDaQiQiu/article/details/119979882" class="tit" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.18","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-18-119979882-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"18","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/ChuiGeDaQiQiu/article/details/119979882"}'  data-report-query='spm=1001.2101.3001.6650.18&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-18-119979882-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-18-119979882-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
					<div class="left ellipsis-online ellipsis-online-1">【可视化】娱乐一下,<em>rviz</em>上画出目标物的<em>轨迹</em></div>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/ChuiGeDaQiQiu" target="_blank"><span class="blog-title"></span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">08-29</span>
					<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
					587
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://blog.csdn.net/ChuiGeDaQiQiu/article/details/119979882" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.18","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-18-119979882-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"18","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/ChuiGeDaQiQiu/article/details/119979882"}'  data-report-query='spm=1001.2101.3001.6650.18&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-18-119979882-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-18-119979882-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
				<div class="desc ellipsis-online ellipsis-online-1">这个就比较简单了，借助于visualization_msgs::MarkerArray，我们可以一次行装载N个不同位置的标记物。然后将该消息发送出去，在<em>rviz</em>上形成一条<em>轨迹</em>。


#include &lt;<em>ros</em>/<em>ros</em>.h&gt;
#include &lt;visualization_msgs/Marker.h&gt;
#include &lt;visualization_msgs/MarkerArray.h&gt;

int main(int argc, char** argv) {
...</div>
			</a>
		</div>
	</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://blog.csdn.net/weixin_42828571/article/details/104174622"  data-report-view='{"ab":"new","spm":"1001.2101.3001.6650.19","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-19-104174622-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"19","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/weixin_42828571/article/details/104174622"}'>
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://blog.csdn.net/weixin_42828571/article/details/104174622" class="tit" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.19","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-19-104174622-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"19","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/weixin_42828571/article/details/104174622"}'  data-report-query='spm=1001.2101.3001.6650.19&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-19-104174622-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-19-104174622-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
					<div class="left ellipsis-online ellipsis-online-1"><em>ROS</em>在<em>rviz</em>中<em>实时</em><em>显示</em><em>轨迹</em>（nav_msgs/Path消息的使用）</div>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/weixin_42828571" target="_blank"><span class="blog-title">方小汪的博客</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">02-04</span>
					<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
					5318
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://blog.csdn.net/weixin_42828571/article/details/104174622" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.19","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-19-104174622-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"19","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/weixin_42828571/article/details/104174622"}'  data-report-query='spm=1001.2101.3001.6650.19&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-19-104174622-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-19-104174622-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
				<div class="desc ellipsis-online ellipsis-online-1">这么好的文章怎么能不转发&hellip;无改动~~
参考（九）<em>ROS</em>在<em>rviz</em>中<em>实时</em><em>显示</em><em>轨迹</em>（nav_msgs/Path消息的使用）
如何在<em>rviz</em>中如何<em>实时</em><em>显示</em><em>轨迹</em>呢？
本文分析nav_msgs/Path结构，实现在<em>rviz</em>中画出圆形<em>轨迹</em>。
1.使用参考代码画<em>轨迹</em>效果展示（hector_slam）
google <em>rviz</em>中如何<em>实时</em><em>显示</em><em>轨迹</em>?会有以下重要资料。
参考资料
参考http://answers.<em>ros</em>...</div>
			</a>
		</div>
	</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://blog.csdn.net/weixin_44168457/article/details/114667272"  data-report-view='{"ab":"new","spm":"1001.2101.3001.6650.20","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-20-114667272-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"20","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/weixin_44168457/article/details/114667272"}'>
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://blog.csdn.net/weixin_44168457/article/details/114667272" class="tit" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.20","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-20-114667272-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"20","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/weixin_44168457/article/details/114667272"}'  data-report-query='spm=1001.2101.3001.6650.20&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-20-114667272-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-20-114667272-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
					<div class="left ellipsis-online ellipsis-online-1"><em>ROS</em>系统01：<em>Rviz</em>下机器人末端<em>轨迹</em><em>显示</em></div>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/weixin_44168457" target="_blank"><span class="blog-title">weixin_44168457的博客</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">03-11</span>
					<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
					1364
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://blog.csdn.net/weixin_44168457/article/details/114667272" target="_blank"  data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.20","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-20-114667272-blog-116061302.pc_relevant_3mothn_strategy_recovery\",\"dist_request_id\":\"1671708121798_34646\"}","dist_request_id":"1671708121798_34646","ab_strategy":"recoveryv3_v2","index":"20","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/weixin_44168457/article/details/114667272"}'  data-report-query='spm=1001.2101.3001.6650.20&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-20-114667272-blog-116061302.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-20-114667272-blog-116061302.pc_relevant_3mothn_strategy_recovery'>
				<div class="desc ellipsis-online ellipsis-online-1">1.设置方法
这个我之前一个超级复杂的，就是订阅/trajectory然后绘制
机器人末端是可以直接<em>显示</em>的
点击displays工具条左下角add，添加robotModel
找到links点开找到最后一个link
勾选show trail

2.常见问题
就是你看起来勾选了，然后你也看见机械臂在<em>rviz</em>中动了，但是没有终端<em>轨迹</em>，无论是因为你用的是gui界面还是C++
API接口，原因都是，你只完成了plan，没有完成execute
3.截图命令行
然后Ubuntu终端截图，自选区域的命令行
gnome-sc</div>
			</a>
		</div>
	</div>
</div>
            </div>
<div id="recommendNps" class="recommend-nps-box common-nps-box">
  <h3 class="aside-title">“相关推荐”对你有帮助么？</h3>
  <div class="aside-content">
      <ul class="newnps-list">
          <li class="newnps-item" data-type="非常没帮助">
              <div class="newnps-img-box">
                  <img class="newnps-img active" src="https://csdnimg.cn/release/blogv2/dist/pc/img/npsFeel1.png" alt="">
                  <img class="newnps-img default" src="https://csdnimg.cn/release/blogv2/dist/pc/img/npsFeelGrey1.png" alt="">
              </div>
              <div class="newnps-text">非常没帮助</div>
          </li>
          <li class="newnps-item" data-type="没帮助">
              <div class="newnps-img-box">
                  <img class="newnps-img active" src="https://csdnimg.cn/release/blogv2/dist/pc/img/npsFeel2.png" alt="">
                  <img class="newnps-img default" src="https://csdnimg.cn/release/blogv2/dist/pc/img/npsFeelGrey2.png" alt="">
              </div>
              <div class="newnps-text">没帮助</div>
          </li>
          <li class="newnps-item" data-type="一般">
              <div class="newnps-img-box">
                  <img class="newnps-img active" src="https://csdnimg.cn/release/blogv2/dist/pc/img/npsFeel3.png" alt="">
                  <img class="newnps-img default" src="https://csdnimg.cn/release/blogv2/dist/pc/img/npsFeelGrey3.png" alt="">
              </div>
              <div class="newnps-text">一般</div>
          </li>
          <li class="newnps-item" data-type="有帮助">
              <div class="newnps-img-box">
                  <img class="newnps-img active" src="https://csdnimg.cn/release/blogv2/dist/pc/img/npsFeel4.png" alt="">
                  <img class="newnps-img default" src="https://csdnimg.cn/release/blogv2/dist/pc/img/npsFeelGrey4.png" alt="">
              </div>
              <div class="newnps-text">有帮助</div>
          </li>
          <li class="newnps-item" data-type="非常有帮助">
              <div class="newnps-img-box">
                  <img class="newnps-img active" src="https://csdnimg.cn/release/blogv2/dist/pc/img/npsFeel5.png" alt="">
                  <img class="newnps-img default" src="https://csdnimg.cn/release/blogv2/dist/pc/img/npsFeelGrey5.png" alt="">
              </div>
              <div class="newnps-text">非常有帮助</div>
          </li>
      </ul>
      <div class="newnps-form-box">
      <div class="newnps-form">
          <input type="text" placeholder="请输入建议或反馈后点击提交" class="newnps-input">
          <span class="newnps-btn">提交</span>
      </div>
      </div>
  </div>
</div>            <div class="template-box">
                <span>©️2022 CSDN</span>
                <span>皮肤主题：大白</span>
                <span> 设计师：CSDN官方博客</span>
                <span>
                    <a href="https://blog.csdn.net/" class="back-home c-blue c-blue-hover c-blue-focus">返回首页</a>
                </span>
            </div>
<div class="blog-footer-bottom" style="margin-top:10px;"></div>
<script src="https://g.csdnimg.cn/common/csdn-footer/csdn-footer.js" data-isfootertrack="false" type="text/javascript"></script>
<script type="text/javascript">
    window.csdn.csdnFooter.options = {
        el: '.blog-footer-bottom',
        type: 2
    }
</script>        </main>
<aside class="blog_container_aside">
<div id="asideProfile" class="aside-box">
    <div class="profile-intro d-flex">
        <div class="avatar-box d-flex justify-content-center flex-column">
            <a href="https://blog.csdn.net/Will_Ye" target="_blank" data-report-click='{"mod":"popu_379","spm":"1001.2101.3001.4121","dest":"https://blog.csdn.net/Will_Ye","ab":"new"}'>
                <img src="https://profile.csdnimg.cn/6/A/1/3_will_ye" class="avatar_pic">
            </a>
        </div>
        <div class="user-info d-flex flex-column profile-intro-name-box">
            <div class="profile-intro-name-boxTop">
                <a href="https://blog.csdn.net/Will_Ye" target="_blank" class="" id="uid" title="Will_Ye" data-report-click='{"mod":"popu_379","spm":"1001.2101.3001.4122","dest":"https://blog.csdn.net/Will_Ye","ab":"new"}'>
                    <span class="name " username="Will_Ye">Will_Ye</span>
                </a>
                <span>
                </span>
                <span class="flag expert-blog">
                <span class="bubble">CSDN认证博客专家</span>
                </span>
                <span class="flag company-blog">
                <span class="bubble">CSDN认证企业博客</span>
                </span>
            </div>
            <div class="profile-intro-name-boxFooter">
                <span class="personal-home-page personal-home-years" title="已加入 CSDN 5年">码龄5年</span>
                    <span class="personal-home-page">
                    <a class="personal-home-certification" href="https://i.csdn.net/#/uc/profile?utm_source=14998968" target="_blank" title="暂无认证">
                    <img src="https://csdnimg.cn/identity/nocErtification.png" alt="">
                    暂无认证
                    </a>
                    </span>
            </div>
        </div>
    </div>
    <div class="data-info d-flex item-tiling">
        <dl class="text-center" title="147">
            <a href="https://blog.csdn.net/Will_Ye" data-report-click='{"mod":"1598321000_001","spm":"1001.2101.3001.4310"}' data-report-query="t=1">  
                <dt><span class="count">147</span></dt>
                <dd class="font">原创</dd>
            </a>
        </dl>
        <dl class="text-center" data-report-click='{"mod":"1598321000_002","spm":"1001.2101.3001.4311"}' title="13383">
            <a href="https://blog.csdn.net/rank/list/weekly" target="_blank">
                <dt><span class="count">1万+</span></dt>
                <dd class="font">周排名</dd>
            </a>
        </dl>
        <dl class="text-center" title="6782">
            <a href="https://blog.csdn.net/rank/list/total" data-report-click='{"mod":"1598321000_003","spm":"1001.2101.3001.4312"}' target="_blank">
                <dt><span class="count">6782</span></dt>
                <dd class="font">总排名</dd>
            </a>
        </dl>
        <dl class="text-center" style="min-width:58px" title="448479">  
            <dt><span class="count">44万+</span></dt>
            <dd>访问</dd>
        </dl>
        <dl class="text-center" title="6级,点击查看等级说明">
            <dt><a href="https://blog.csdn.net/blogdevteam/article/details/103478461" target="_blank">
                <img class="level" src="https://csdnimg.cn/identity/blog6.png">
            </a>
            </dt>
            <dd>等级</dd>
        </dl>
    </div>
    <div class="item-rank"></div>
    <div class="data-info d-flex item-tiling">
        <dl class="text-center" title="5009">
            <dt><span class="count">5009</span></dt>
            <dd>积分</dd>
        </dl>
         <dl class="text-center" id="fanBox" title="922">
            <dt><span class="count" id="fan">922</span></dt>
            <dd>粉丝</dd>
        </dl>
        <dl class="text-center" title="458">
            <dt><span class="count">458</span></dt>
            <dd>获赞</dd>
        </dl>
        <dl class="text-center" title="290">
            <dt><span class="count">290</span></dt>
            <dd>评论</dd>
        </dl>
        <dl class="text-center" title="1610">
            <dt><span class="count">1610</span></dt>
            <dd>收藏</dd>
        </dl>
    </div>
    <div class="aside-box-footer" data-report-view='{"spm":"3001.4296"}'>
        <div class="badge-box d-flex">
            <div class="badge d-flex">
                <div class="icon-badge" title="分享达人">
                    <div class="mouse-box">
                        <img class="medal-img" data-report-click='{"spm":"3001.4296"}' src="https://csdnimg.cn/medal/fenxiangdaren@240.png" alt="分享达人">
                    </div>
                </div>
                <div class="icon-badge" title="分享精英">
                    <div class="mouse-box">
                        <img class="medal-img" data-report-click='{"spm":"3001.4296"}' src="https://csdnimg.cn/medal/fenxiangjingying@240.png" alt="分享精英">
                    </div>
                </div>
                <div class="icon-badge" title="签到新秀">
                    <div class="mouse-box">
                        <img class="medal-img" data-report-click='{"spm":"3001.4296"}' src="https://csdnimg.cn/medal/qiandao3@240.png" alt="签到新秀">
                    </div>
                </div>
                <div class="icon-badge" title="五一创作勋章">
                    <div class="mouse-box">
                        <img class="medal-img" data-report-click='{"spm":"3001.4296"}' src="https://csdnimg.cn/medal/51_create.png" alt="五一创作勋章">
                    </div>
                </div>
                <div class="icon-badge" title="持之以恒">
                    <div class="mouse-box">
                        <img class="medal-img" data-report-click='{"spm":"3001.4296"}' src="https://csdnimg.cn/medal/chizhiyiheng@240.png" alt="持之以恒">
                    </div>
                </div>
                <div class="icon-badge" title="GitHub">
                    <div class="mouse-box">
                        <img class="medal-img" data-report-click='{"spm":"3001.4296"}' src="https://csdnimg.cn/medal/github@240.png" alt="GitHub">
                    </div>
                </div>
                <div class="icon-badge" title="1024勋章">
                    <div class="mouse-box">
                        <img class="medal-img" data-report-click='{"spm":"3001.4296"}' src="https://csdnimg.cn/medal/1024up@240.png" alt="1024勋章">
                    </div>
                </div>
                <div class="icon-badge" title="笔耕不辍">
                    <div class="mouse-box">
                        <img class="medal-img" data-report-click='{"spm":"3001.4296"}' src="https://csdnimg.cn/2b55a8d39812403cbc62a20e8607e264.png" alt="笔耕不辍">
                    </div>
                </div>
                <div class="icon-badge" title="勤写标兵">
                    <div class="mouse-box">
                        <img class="medal-img" data-report-click='{"spm":"3001.4296"}' src="https://csdnimg.cn/medal/qixiebiaobing4@240.png" alt="勤写标兵">
                    </div>
                </div>
                <div class="icon-badge" title="学习力">
                    <div class="mouse-box">
                        <img class="medal-img" data-report-click='{"spm":"3001.4296"}' src="https://csdnimg.cn/medal/yuanli_xuexili@240.png" alt="学习力">
                    </div>
                </div>
                <div class="icon-badge" title="原力新人">
                    <div class="mouse-box">
                        <img class="medal-img" data-report-click='{"spm":"3001.4296"}' src="https://csdnimg.cn/medal/yuanli_xinren@240.png" alt="原力新人">
                    </div>
                </div>
                <div class="icon-badge" title="知无不言">
                    <div class="mouse-box">
                        <img class="medal-img" data-report-click='{"spm":"3001.4296"}' src="https://csdnimg.cn/f19b84c244aa4e6d8bf469b4aff1f98c.png" alt="知无不言">
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="profile-intro-name-boxOpration">
        <div class="opt-letter-watch-box">
        <a class="bt-button personal-letter" href="https://im.csdn.net/chat/Will_Ye" target="_blank" rel="noopener">私信</a>
        </div>
        <div class="opt-letter-watch-box"> 
            <a class="personal-watch bt-button" id="btnAttent" >关注</a>  
        </div>
    </div>
</div>
 <div id="asideSearchArticle" class="aside-box">
	<div class="aside-content search-comter">
    <div class="aside-search aside-search-blog">         
        <input type="text" class="input-serch-blog" name="" autocomplete="off" value="" id="search-blog-words" placeholder="搜博主文章">
        <a class="btn-search-blog">
                    <img src="//csdnimg.cn/cdn/content-toolbar/csdn-sou.png?v=1587021042">
        </a>
    </div>
    </div>
</div>


<div id="asideHotArticle" class="aside-box">
	<h3 class="aside-title">热门文章</h3>
	<div class="aside-content">
		<ul class="hotArticle-list">
			<li>
				<a href="https://blog.csdn.net/Will_Ye/article/details/94013837" target="_blank"  data-report-click='{"mod":"popu_541","spm":"1001.2101.3001.4139","dest":"https://blog.csdn.net/Will_Ye/article/details/94013837","ab":"new"}'>
				LaTex 自动生成IEEE格式的参考文献
					<img src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
					<span class="read">30347</span>
                </a>
			</li>
			<li>
				<a href="https://blog.csdn.net/Will_Ye/article/details/104994504" target="_blank"  data-report-click='{"mod":"popu_541","spm":"1001.2101.3001.4139","dest":"https://blog.csdn.net/Will_Ye/article/details/104994504","ab":"new"}'>
				pytorch中tf.nn.functional.softmax(x,dim = -1)对参数dim的理解
					<img src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
					<span class="read">19609</span>
                </a>
			</li>
			<li>
				<a href="https://blog.csdn.net/Will_Ye/article/details/81087463" target="_blank"  data-report-click='{"mod":"popu_541","spm":"1001.2101.3001.4139","dest":"https://blog.csdn.net/Will_Ye/article/details/81087463","ab":"new"}'>
				强化学习环境配置（Ubuntu16.04）---gym、mujoco、mujoco-py、baselines安装与测试
					<img src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
					<span class="read">18073</span>
                </a>
			</li>
			<li>
				<a href="https://blog.csdn.net/Will_Ye/article/details/103044757" target="_blank"  data-report-click='{"mod":"popu_541","spm":"1001.2101.3001.4139","dest":"https://blog.csdn.net/Will_Ye/article/details/103044757","ab":"new"}'>
				LaTeX中单行和多行注释的几种方法
					<img src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
					<span class="read">16882</span>
                </a>
			</li>
			<li>
				<a href="https://blog.csdn.net/Will_Ye/article/details/107721191" target="_blank"  data-report-click='{"mod":"popu_541","spm":"1001.2101.3001.4139","dest":"https://blog.csdn.net/Will_Ye/article/details/107721191","ab":"new"}'>
				python 根据一个list的元素删除另一个list中对应的元素
					<img src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
					<span class="read">15624</span>
                </a>
			</li>
		</ul>
	</div>
</div>
<div id="asideCategory" class="aside-box flexible-box">
    <h3 class="aside-title">分类专栏</h3>
    <div class="aside-content">
        <ul>
            <li>
                <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_10680014.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_10680014.html","ab":"new"}'>
                    <div class="special-column-bar "></div>
                    <img src="https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                    <span class="title oneline">
                        Communication
                    </span>
                </a>
                <span class="special-column-num">3篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_10994903.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_10994903.html","ab":"new"}'>
                    <div class="special-column-bar "></div>
                    <img src="https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                    <span class="title oneline">
                        Robotics
                    </span>
                </a>
                <span class="special-column-num">3篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_10621212.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_10621212.html","ab":"new"}'>
                    <div class="special-column-bar "></div>
                    <img src="https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                    <span class="title oneline">
                        C++
                    </span>
                </a>
                <span class="special-column-num">5篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_11447719.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_11447719.html","ab":"new"}'>
                    <div class="special-column-bar "></div>
                    <img src="https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                    <span class="title oneline">
                        Ubuntu
                    </span>
                </a>
                <span class="special-column-num">12篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_11646945.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_11646945.html","ab":"new"}'>
                    <div class="special-column-bar "></div>
                    <img src="https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                    <span class="title oneline">
                        MCU
                    </span>
                </a>
                <span class="special-column-num">1篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_11901384.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_11901384.html","ab":"new"}'>
                    <div class="special-column-bar "></div>
                    <img src="https://img-blog.csdnimg.cn/20190918140158853.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                    <span class="title oneline">
                        PCL Learning
                    </span>
                </a>
                <span class="special-column-num">2篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_11867052.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_11867052.html","ab":"new"}'>
                    <div class="special-column-bar "></div>
                    <img src="https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                    <span class="title oneline">
                        Nvidia Board
                    </span>
                </a>
                <span class="special-column-num">1篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_9752715.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_9752715.html","ab":"new"}'>
                    <div class="special-column-bar "></div>
                    <img src="https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                    <span class="title oneline">
                        Pytorch
                    </span>
                </a>
                <span class="special-column-num">3篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_10134952.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_10134952.html","ab":"new"}'>
                    <div class="special-column-bar "></div>
                    <img src="https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                    <span class="title oneline">
                        Opencv
                    </span>
                </a>
                <span class="special-column-num">1篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_9824374.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_9824374.html","ab":"new"}'>
                    <div class="special-column-bar "></div>
                    <img src="https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                    <span class="title oneline">
                        Common
                    </span>
                </a>
                <span class="special-column-num">1篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_7468453.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_7468453.html","ab":"new"}'>
                    <div class="special-column-bar "></div>
                    <img src="https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                    <span class="title oneline">
                        ISSUES
                    </span>
                </a>
                <span class="special-column-num">16篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_7492009.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_7492009.html","ab":"new"}'>
                    <div class="special-column-bar "></div>
                    <img src="https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                    <span class="title oneline">
                        ROS learning
                    </span>
                </a>
                <span class="special-column-num">40篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_7494942.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_7494942.html","ab":"new"}'>
                    <div class="special-column-bar "></div>
                    <img src="https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                    <span class="title oneline">
                        Other
                    </span>
                </a>
                <span class="special-column-num">13篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_7570758.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_7570758.html","ab":"new"}'>
                    <div class="special-column-bar "></div>
                    <img src="https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                    <span class="title oneline">
                        Matlab
                    </span>
                </a>
                <span class="special-column-num">2篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_7808535.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_7808535.html","ab":"new"}'>
                    <div class="special-column-bar "></div>
                    <img src="https://img-blog.csdnimg.cn/20190927151053287.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                    <span class="title oneline">
                        Reinforcement learning
                    </span>
                </a>
                <span class="special-column-num">2篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_7836774.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_7836774.html","ab":"new"}'>
                    <div class="special-column-bar "></div>
                    <img src="https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                    <span class="title oneline">
                        Machine Learning
                    </span>
                </a>
                <span class="special-column-num">2篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_8086260.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_8086260.html","ab":"new"}'>
                    <div class="special-column-bar "></div>
                    <img src="https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                    <span class="title oneline">
                        Deep Learning
                    </span>
                </a>
                <span class="special-column-num">7篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_8368885.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_8368885.html","ab":"new"}'>
                    <div class="special-column-bar "></div>
                    <img src="https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                    <span class="title oneline">
                        Python
                    </span>
                </a>
                <span class="special-column-num">17篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_8507729.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_8507729.html","ab":"new"}'>
                    <div class="special-column-bar "></div>
                    <img src="https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                    <span class="title oneline">
                        deeplearning.ai homework
                    </span>
                </a>
                <span class="special-column-num">13篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_8667841.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_8667841.html","ab":"new"}'>
                    <div class="special-column-bar "></div>
                    <img src="https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                    <span class="title oneline">
                        Tensorflow
                    </span>
                </a>
                <span class="special-column-num">1篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_8678799.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_8678799.html","ab":"new"}'>
                    <div class="special-column-bar "></div>
                    <img src="https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                    <span class="title oneline">
                        Keras
                    </span>
                </a>
                <span class="special-column-num">8篇</span>
            </li>
        </ul>
    </div>
    <p class="text-center">
        <a class="flexible-btn" data-fbox="aside-archive"><img class="look-more" src="https://csdnimg.cn/release/blogv2/dist/pc/img/arrowDownWhite.png" alt=""></a>
    </p>
</div>
<div id="asideNewComments" class="aside-box">
    <h3 class="aside-title">最新评论</h3>
    <div class="aside-content">
        <ul class="newcomment-list">
            <li>
                <a class="title text-truncate" target="_blank" href="https://blog.csdn.net/Will_Ye/article/details/123662433#comments_24366779" data-report-click='{"mod":"popu_542","spm":"1001.2101.3001.4231","dest":"https://blog.csdn.net/Will_Ye/article/details/123662433#comments_24366779","ab":"new"}' data-report-view='{"mod":"popu_542","spm":"1001.2101.3001.4231","dest":"https://blog.csdn.net/Will_Ye/article/details/123662433#comments_24366779","ab":"new"}'>ubuntu18.04下的屏幕亮度调节问题</a>
                <p class="comment ellipsis">
                    <a href="https://blog.csdn.net/weixin_55657105" class="user-name" target="_blank">weixin_55657105: </a>
                    <span class="code-comments">两种方法都用了，ubuntu直接开机黑屏。。。只能从recovery模式进了<img src="https://g.csdnimg.cn/static/face/emoji/004.png" alt='表情包' ></span>
                </p>
            </li>
            <li>
                <a class="title text-truncate" target="_blank" href="https://blog.csdn.net/Will_Ye/article/details/123662433#comments_24326825" data-report-click='{"mod":"popu_542","spm":"1001.2101.3001.4231","dest":"https://blog.csdn.net/Will_Ye/article/details/123662433#comments_24326825","ab":"new"}' data-report-view='{"mod":"popu_542","spm":"1001.2101.3001.4231","dest":"https://blog.csdn.net/Will_Ye/article/details/123662433#comments_24326825","ab":"new"}'>ubuntu18.04下的屏幕亮度调节问题</a>
                <p class="comment ellipsis">
                    <a href="https://blog.csdn.net/qq_45520011" class="user-name" target="_blank">状态不好估计: </a>
                    <span class="code-comments">用了博主的方法把小太阳搞出来了,但是调节重启还是没有效果,插件也是不行,哭死<img src="https://g.csdnimg.cn/static/face/emoji/010.png" alt='表情包' ></span>
                </p>
            </li>
            <li>
                <a class="title text-truncate" target="_blank" href="https://blog.csdn.net/Will_Ye/article/details/121902199#comments_24313408" data-report-click='{"mod":"popu_542","spm":"1001.2101.3001.4231","dest":"https://blog.csdn.net/Will_Ye/article/details/121902199#comments_24313408","ab":"new"}' data-report-view='{"mod":"popu_542","spm":"1001.2101.3001.4231","dest":"https://blog.csdn.net/Will_Ye/article/details/121902199#comments_24313408","ab":"new"}'>Ubuntu启动速度很慢的可能原因及对应解决方法</a>
                <p class="comment ellipsis">
                    <a href="https://blog.csdn.net/Will_Ye" class="user-name" target="_blank">Will_Ye: </a>
                    <span class="code-comments">建议你了解一下这些启动项是做什么用的再禁用，禁用简单，但不知道会产生什么影响</span>
                </p>
            </li>
            <li>
                <a class="title text-truncate" target="_blank" href="https://blog.csdn.net/Will_Ye/article/details/121902199#comments_24306011" data-report-click='{"mod":"popu_542","spm":"1001.2101.3001.4231","dest":"https://blog.csdn.net/Will_Ye/article/details/121902199#comments_24306011","ab":"new"}' data-report-view='{"mod":"popu_542","spm":"1001.2101.3001.4231","dest":"https://blog.csdn.net/Will_Ye/article/details/121902199#comments_24306011","ab":"new"}'>Ubuntu启动速度很慢的可能原因及对应解决方法</a>
                <p class="comment ellipsis">
                    <a href="https://blog.csdn.net/weixin_44385365" class="user-name" target="_blank">沧浪之歌: </a>
                    <span class="code-comments">博主，请问为啥我的开机启动项几十秒十几秒的有很多，平时开机都得10-20分钟，我需要全禁了吗</span>
                </p>
            </li>
            <li>
                <a class="title text-truncate" target="_blank" href="https://blog.csdn.net/Will_Ye/article/details/120458543#comments_24215526" data-report-click='{"mod":"popu_542","spm":"1001.2101.3001.4231","dest":"https://blog.csdn.net/Will_Ye/article/details/120458543#comments_24215526","ab":"new"}' data-report-view='{"mod":"popu_542","spm":"1001.2101.3001.4231","dest":"https://blog.csdn.net/Will_Ye/article/details/120458543#comments_24215526","ab":"new"}'>机器人运动学---雅克比矩阵伪逆</a>
                <p class="comment ellipsis">
                    <a href="https://blog.csdn.net/qq_43332117" class="user-name" target="_blank">广大机电新生: </a>
                    <span class="code-comments">我在matlab用伪逆求出来的雅可比逆矩阵，很多元素带有无穷大的项<img src="https://g.csdnimg.cn/static/face/emoji/010.png" alt='表情包' >，没办法用于后续的逆解的求解</span>
                </p>
            </li>
        </ul>
    </div>
</div>
<div id="asideNewNps" class="aside-box common-nps-box">
    <h3 class="aside-title">您愿意向朋友推荐“博客详情页”吗？</h3>
    <div class="aside-content">
        <ul class="newnps-list">
            <li class="newnps-item" data-type="强烈不推荐">
                <div class="newnps-img-box">
                    <img class="newnps-img active" src="https://csdnimg.cn/release/blogv2/dist/pc/img/npsFeel1.png" alt="">
                    <img class="newnps-img default" src="https://csdnimg.cn/release/blogv2/dist/pc/img/npsFeelGrey1.png" alt="">
                </div>
                <div class="newnps-text">强烈不推荐</div>
            </li>
            <li class="newnps-item" data-type="不推荐">
                <div class="newnps-img-box">
                    <img class="newnps-img active" src="https://csdnimg.cn/release/blogv2/dist/pc/img/npsFeel2.png" alt="">
                    <img class="newnps-img default" src="https://csdnimg.cn/release/blogv2/dist/pc/img/npsFeelGrey2.png" alt="">
                </div>
                <div class="newnps-text">不推荐</div>
            </li>
            <li class="newnps-item" data-type="一般般">
                <div class="newnps-img-box">
                    <img class="newnps-img active" src="https://csdnimg.cn/release/blogv2/dist/pc/img/npsFeel3.png" alt="">
                    <img class="newnps-img default" src="https://csdnimg.cn/release/blogv2/dist/pc/img/npsFeelGrey3.png" alt="">
                </div>
                <div class="newnps-text">一般般</div>
            </li>
            <li class="newnps-item" data-type="推荐">
                <div class="newnps-img-box">
                    <img class="newnps-img active" src="https://csdnimg.cn/release/blogv2/dist/pc/img/npsFeel4.png" alt="">
                    <img class="newnps-img default" src="https://csdnimg.cn/release/blogv2/dist/pc/img/npsFeelGrey4.png" alt="">
                </div>
                <div class="newnps-text">推荐</div>
            </li>
            <li class="newnps-item" data-type="强烈推荐">
                <div class="newnps-img-box">
                    <img class="newnps-img active" src="https://csdnimg.cn/release/blogv2/dist/pc/img/npsFeel5.png" alt="">
                    <img class="newnps-img default" src="https://csdnimg.cn/release/blogv2/dist/pc/img/npsFeelGrey5.png" alt="">
                </div>
                <div class="newnps-text">强烈推荐</div>
            </li>
        </ul>
        <div class="newnps-form-box">
        <div class="newnps-form">
            <input type="text" placeholder="请输入建议或反馈后点击提交" class="newnps-input">
            <span class="newnps-btn">提交</span>
        </div>
        </div>
    </div>
</div>
<div id="asideArchive" class="aside-box" style="display:block!important; width:300px;">
    <h3 class="aside-title">最新文章</h3>
    <div class="aside-content">
        <ul class="inf_list clearfix">
            <li class="clearfix">
            <a href="https://blog.csdn.net/Will_Ye/article/details/127498034" target="_blank" data-report-click='{"mod":"popu_382","spm":"1001.2101.3001.4136","dest":"https://blog.csdn.net/Will_Ye/article/details/127498034","ab":"new"}' data-report-view='{"mod":"popu_382","dest":"https://blog.csdn.net/Will_Ye/article/details/127498034","ab":"new"}'>四元数，欧拉角，旋转矩阵相互转换以及矩阵求逆合集（C++和python）</a>
            </li>
            <li class="clearfix">
            <a href="https://blog.csdn.net/Will_Ye/article/details/127126987" target="_blank" data-report-click='{"mod":"popu_382","spm":"1001.2101.3001.4136","dest":"https://blog.csdn.net/Will_Ye/article/details/127126987","ab":"new"}' data-report-view='{"mod":"popu_382","dest":"https://blog.csdn.net/Will_Ye/article/details/127126987","ab":"new"}'>ubuntu18.04 安装网卡i219-LM驱动</a>
            </li>
            <li class="clearfix">
            <a href="https://blog.csdn.net/Will_Ye/article/details/126992616" target="_blank" data-report-click='{"mod":"popu_382","spm":"1001.2101.3001.4136","dest":"https://blog.csdn.net/Will_Ye/article/details/126992616","ab":"new"}' data-report-view='{"mod":"popu_382","dest":"https://blog.csdn.net/Will_Ye/article/details/126992616","ab":"new"}'>STM32堆栈设置太小导致的栈溢出，数组出现错误的值</a>
            </li>
        </ul>
        <div class="archive-bar"></div>
        <div class="archive-box">
                <div class="archive-list-item"><a href="https://blog.csdn.net/Will_Ye?type=blog&amp;year=2022&amp;month=10" target="_blank" data-report-click='{"mod":"popu_538","spm":"1001.2101.3001.4138","ab":"new","dest":"https://blog.csdn.net/Will_Ye?type=blog&amp;year=2022&amp;month=10"}'><span class="year">2022年</span><span class="num">25篇</span></a></div>
                <div class="archive-list-item"><a href="https://blog.csdn.net/Will_Ye?type=blog&amp;year=2021&amp;month=12" target="_blank" data-report-click='{"mod":"popu_538","spm":"1001.2101.3001.4138","ab":"new","dest":"https://blog.csdn.net/Will_Ye?type=blog&amp;year=2021&amp;month=12"}'><span class="year">2021年</span><span class="num">37篇</span></a></div>
                <div class="archive-list-item"><a href="https://blog.csdn.net/Will_Ye?type=blog&amp;year=2020&amp;month=11" target="_blank" data-report-click='{"mod":"popu_538","spm":"1001.2101.3001.4138","ab":"new","dest":"https://blog.csdn.net/Will_Ye?type=blog&amp;year=2020&amp;month=11"}'><span class="year">2020年</span><span class="num">26篇</span></a></div>
                <div class="archive-list-item"><a href="https://blog.csdn.net/Will_Ye?type=blog&amp;year=2019&amp;month=11" target="_blank" data-report-click='{"mod":"popu_538","spm":"1001.2101.3001.4138","ab":"new","dest":"https://blog.csdn.net/Will_Ye?type=blog&amp;year=2019&amp;month=11"}'><span class="year">2019年</span><span class="num">20篇</span></a></div>
                <div class="archive-list-item"><a href="https://blog.csdn.net/Will_Ye?type=blog&amp;year=2018&amp;month=12" target="_blank" data-report-click='{"mod":"popu_538","spm":"1001.2101.3001.4138","ab":"new","dest":"https://blog.csdn.net/Will_Ye?type=blog&amp;year=2018&amp;month=12"}'><span class="year">2018年</span><span class="num">39篇</span></a></div>
        </div>
    </div>
</div>
	<div id="footerRightAds" class="isShowFooterAds">
		<div class="aside-box">
			<div id="kp_box_57" data-pid="57"><iframe  src="https://kunpeng-sc.csdnimg.cn/?timestamp=1645783940/#/preview/1000628?positionId=57&adId=1020010&queryWord=Rviz显示理想的运动的轨迹，并对比实时的运动轨迹&spm=1001.2101.3001.5001&articleId=116061302&hk=1" frameborder="0" width= "300px"  height= "600px" scrolling="no" ></iframe><img class="pre-img-lasy"  data-src="https://kunyu.csdn.net/1.png?p=57&adId=1020010&a=1020010&c=1000628&k=Rviz显示理想的运动的轨迹，并对比实时的运动轨迹&spm=1001.2101.3001.5001&articleId=116061302&hk=1&d=1&t=3&u=784ad9d0346f459d9e489bd0c3db0dc3" style="display: block;width: 0px;height: 0px;"></div>
		</div>
	</div>
    <!-- 详情页显示目录 -->
<!--文章目录-->
<div id="asidedirectory" class="aside-box">
    <div class='groupfile' id="directory">
        <h3 class="aside-title">目录</h3>
        <div class="align-items-stretch group_item">
            <div class="pos-box">
            <div class="scroll-box">
                <div class="toc-box"></div>
            </div>
            </div>
        </div>
    </div>
</div>
</aside>
<script>
	$("a.flexible-btn").click(function(){
		$(this).parents('div.aside-box').removeClass('flexible-box');
		$(this).parents("p.text-center").remove();
	})
</script>
<script type="text/javascript"  src="https://g.csdnimg.cn/user-tooltip/2.7/user-tooltip.js"></script>
<script type="text/javascript"  src="https://g.csdnimg.cn/user-medal/2.0.0/user-medal.js"></script>    </div>
<div class="recommend-right align-items-stretch clearfix" id="rightAside" data-type="recommend">
    <aside class="recommend-right_aside">
        <div id="recommend-right" >
                                <div class="programmer1Box">
                        <div id="kp_box_530" data-pid="530"><iframe  src="https://kunpeng-sc.csdnimg.cn/?timestamp=1645783940/#/preview/1000628?positionId=530&adId=1020009&queryWord=Rviz显示理想的运动的轨迹，并对比实时的运动轨迹&spm=1001.2101.3001.4647&articleId=116061302&hk=1" frameborder="0" width= "300px"  height= "600px" scrolling="no" ></iframe><img class="pre-img-lasy"  data-src="https://kunyu.csdn.net/1.png?p=530&adId=1020009&a=1020009&c=1000628&k=Rviz显示理想的运动的轨迹，并对比实时的运动轨迹&spm=1001.2101.3001.4647&articleId=116061302&hk=1&d=1&t=3&u=0fb08feb7a8047e6ba876cc0394ea9d5" style="display: block;width: 0px;height: 0px;"></div>
                    </div>
            <div class='flex-column aside-box groupfile' id="groupfile">
                <div class="groupfile-div">
                <h3 class="aside-title">目录</h3>
                <div class="align-items-stretch group_item">
                    <div class="pos-box">
                        <div class="scroll-box">
                            <div class="toc-box"></div>
                        </div>
                    </div>
                </div>
                </div>
            </div>
                <div id="recommendAdBox">
                    <div id="kp_box_479" data-pid="479"><div class="_gnumici5vli"></div>
    <script type="text/javascript">
        (window.slotbydup = window.slotbydup || []).push({
            id: "u5883818",
            container: "_gnumici5vli",
            async: true
        });
    </script>
    <!-- 多条广告如下脚本只需引入一次 -->
    <script type="text/javascript" src="//cpro.baidustatic.com/cpro/ui/cm.js" async="async" defer="defer" >
    </script><img class="pre-img-lasy" data-src="https://kunyu.csdn.net/1.png?p=479&adId=1015221&a=1015221&c=0&k=Rviz显示理想的运动的轨迹，并对比实时的运动轨迹&spm=1001.2101.3001.4834&articleId=116061302&d=1&t=3&u=590ff7016a0647b1bd5aeba9f31d7c91" style="display: block;width: 0px;height: 0px;"></div>
                </div>
            <div class='aside-box kind_person d-flex flex-column'>
                    <h3 class="aside-title">分类专栏</h3>
                    <div class="align-items-stretch kindof_item" id="kind_person_column">
                        <div class="aside-content">
                            <ul>
                                <li>
                                    <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_10680014.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_10680014.html","ab":"new"}'>
                                        <div class="special-column-bar "></div>
                                        <img src="https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                                        <span class="">
                                            Communication
                                        </span>
                                    </a>
                                    <span class="special-column-num">3篇</span>
                                </li>
                                <li>
                                    <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_10994903.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_10994903.html","ab":"new"}'>
                                        <div class="special-column-bar "></div>
                                        <img src="https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                                        <span class="">
                                            Robotics
                                        </span>
                                    </a>
                                    <span class="special-column-num">3篇</span>
                                </li>
                                <li>
                                    <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_10621212.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_10621212.html","ab":"new"}'>
                                        <div class="special-column-bar "></div>
                                        <img src="https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                                        <span class="">
                                            C++
                                        </span>
                                    </a>
                                    <span class="special-column-num">5篇</span>
                                </li>
                                <li>
                                    <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_11447719.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_11447719.html","ab":"new"}'>
                                        <div class="special-column-bar "></div>
                                        <img src="https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                                        <span class="">
                                            Ubuntu
                                        </span>
                                    </a>
                                    <span class="special-column-num">12篇</span>
                                </li>
                                <li>
                                    <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_11646945.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_11646945.html","ab":"new"}'>
                                        <div class="special-column-bar "></div>
                                        <img src="https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                                        <span class="">
                                            MCU
                                        </span>
                                    </a>
                                    <span class="special-column-num">1篇</span>
                                </li>
                                <li>
                                    <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_11901384.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_11901384.html","ab":"new"}'>
                                        <div class="special-column-bar "></div>
                                        <img src="https://img-blog.csdnimg.cn/20190918140158853.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                                        <span class="">
                                            PCL Learning
                                        </span>
                                    </a>
                                    <span class="special-column-num">2篇</span>
                                </li>
                                <li>
                                    <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_11867052.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_11867052.html","ab":"new"}'>
                                        <div class="special-column-bar "></div>
                                        <img src="https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                                        <span class="">
                                            Nvidia Board
                                        </span>
                                    </a>
                                    <span class="special-column-num">1篇</span>
                                </li>
                                <li>
                                    <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_9752715.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_9752715.html","ab":"new"}'>
                                        <div class="special-column-bar "></div>
                                        <img src="https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                                        <span class="">
                                            Pytorch
                                        </span>
                                    </a>
                                    <span class="special-column-num">3篇</span>
                                </li>
                                <li>
                                    <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_10134952.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_10134952.html","ab":"new"}'>
                                        <div class="special-column-bar "></div>
                                        <img src="https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                                        <span class="">
                                            Opencv
                                        </span>
                                    </a>
                                    <span class="special-column-num">1篇</span>
                                </li>
                                <li>
                                    <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_9824374.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_9824374.html","ab":"new"}'>
                                        <div class="special-column-bar "></div>
                                        <img src="https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                                        <span class="">
                                            Common
                                        </span>
                                    </a>
                                    <span class="special-column-num">1篇</span>
                                </li>
                                <li>
                                    <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_7468453.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_7468453.html","ab":"new"}'>
                                        <div class="special-column-bar "></div>
                                        <img src="https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                                        <span class="">
                                            ISSUES
                                        </span>
                                    </a>
                                    <span class="special-column-num">16篇</span>
                                </li>
                                <li>
                                    <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_7492009.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_7492009.html","ab":"new"}'>
                                        <div class="special-column-bar "></div>
                                        <img src="https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                                        <span class="">
                                            ROS learning
                                        </span>
                                    </a>
                                    <span class="special-column-num">40篇</span>
                                </li>
                                <li>
                                    <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_7494942.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_7494942.html","ab":"new"}'>
                                        <div class="special-column-bar "></div>
                                        <img src="https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                                        <span class="">
                                            Other
                                        </span>
                                    </a>
                                    <span class="special-column-num">13篇</span>
                                </li>
                                <li>
                                    <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_7570758.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_7570758.html","ab":"new"}'>
                                        <div class="special-column-bar "></div>
                                        <img src="https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                                        <span class="">
                                            Matlab
                                        </span>
                                    </a>
                                    <span class="special-column-num">2篇</span>
                                </li>
                                <li>
                                    <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_7808535.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_7808535.html","ab":"new"}'>
                                        <div class="special-column-bar "></div>
                                        <img src="https://img-blog.csdnimg.cn/20190927151053287.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                                        <span class="">
                                            Reinforcement learning
                                        </span>
                                    </a>
                                    <span class="special-column-num">2篇</span>
                                </li>
                                <li>
                                    <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_7836774.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_7836774.html","ab":"new"}'>
                                        <div class="special-column-bar "></div>
                                        <img src="https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                                        <span class="">
                                            Machine Learning
                                        </span>
                                    </a>
                                    <span class="special-column-num">2篇</span>
                                </li>
                                <li>
                                    <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_8086260.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_8086260.html","ab":"new"}'>
                                        <div class="special-column-bar "></div>
                                        <img src="https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                                        <span class="">
                                            Deep Learning
                                        </span>
                                    </a>
                                    <span class="special-column-num">7篇</span>
                                </li>
                                <li>
                                    <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_8368885.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_8368885.html","ab":"new"}'>
                                        <div class="special-column-bar "></div>
                                        <img src="https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                                        <span class="">
                                            Python
                                        </span>
                                    </a>
                                    <span class="special-column-num">17篇</span>
                                </li>
                                <li>
                                    <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_8507729.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_8507729.html","ab":"new"}'>
                                        <div class="special-column-bar "></div>
                                        <img src="https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                                        <span class="">
                                            deeplearning.ai homework
                                        </span>
                                    </a>
                                    <span class="special-column-num">13篇</span>
                                </li>
                                <li>
                                    <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_8667841.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_8667841.html","ab":"new"}'>
                                        <div class="special-column-bar "></div>
                                        <img src="https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                                        <span class="">
                                            Tensorflow
                                        </span>
                                    </a>
                                    <span class="special-column-num">1篇</span>
                                </li>
                                <li>
                                    <a class="clearfix special-column-name" target="_blank" href="https://blog.csdn.net/will_ye/category_8678799.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/will_ye/category_8678799.html","ab":"new"}'>
                                        <div class="special-column-bar "></div>
                                        <img src="https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                                        <span class="">
                                            Keras
                                        </span>
                                    </a>
                                    <span class="special-column-num">8篇</span>
                                </li>
                            </ul>
                        </div>
                    </div>
            </div>
        </div>
    </aside>
</div>

<div class="recommend-right1  align-items-stretch clearfix" id="rightAsideConcision" data-type="recommend">
    <aside class="recommend-right_aside">
        <div id="recommend-right-concision" >
            <div class='flex-column aside-box groupfile' id="groupfileConcision">
                <div class="groupfile-div1">
                <h3 class="aside-title">目录</h3>
                <div class="align-items-stretch group_item">
                    <div class="pos-box">
                        <div class="scroll-box">
                            <div class="toc-box"></div>
                        </div>
                    </div>
                </div>
                </div>
            </div>
        </div>
    </aside>
</div>

</div>
<div class="mask-dark"></div>
<script src="https://csdnimg.cn/public/sandalstrap/1.4/js/sandalstrap.min.js"></script>
<div class="skin-boxshadow"></div>
<div class="directory-boxshadow"></div>
<div class="comment-side-box-shadow comment-side-tit-close" id="commentSideBoxshadow">
<div class="comment-side-content">
	<div class="comment-side-tit">
	<span class="comment-side-tit-count">评论</span>	
	<img class="comment-side-tit-close" src="https://csdnimg.cn/release/blogv2/dist/pc/img/closeBt.png"></div>
	<div id="pcCommentSideBox" class="comment-box comment-box-new2 " style="display:block">
		<div class="comment-edit-box d-flex">
			<div class="user-img">
				<a href="https://blog.csdn.net/qq_34761779" target="_blank">
					<img src="https://profile.csdnimg.cn/9/B/D/3_qq_34761779">
				</a>
			</div>
			<form id="commentform">
				<textarea class="comment-content" name="comment_content" id="comment_content" placeholder="欢迎高质量的评论，低质的评论会被折叠" maxlength="1000"></textarea>
				<div class="comment-operate-box">
					<div class="comment-operate-l">
						<span id="tip_comment" class="tip">还能输入<em>1000</em>个字符</span>
					</div>
					<div class="comment-operate-c">
						&nbsp;
					</div>
					<div class="comment-operate-r">
						<div class="comment-operate-item comment-emoticon">
							<img class="comment-operate-img" data-url="https://csdnimg.cn/release/blogv2/dist/pc/img/" src="https://csdnimg.cn/release/blogv2/dist/pc/img/commentEmotionIcon.png" alt="表情包">
							<span class="comment-operate-tip">插入表情</span>
							<div class="comment-emoticon-box comment-operate-isshow">
								<div class="comment-emoticon-img-box"></div>
							</div>
						</div>
						<div class="comment-operate-item comment-code">
							<img class="comment-operate-img" data-url="https://csdnimg.cn/release/blogv2/dist/pc/img/" src="https://csdnimg.cn/release/blogv2/dist/pc/img/commentCodeIcon.png" alt="表情包">
							<span class="comment-operate-tip">代码片</span>
							<div class="comment-code-box comment-operate-isshow">
								<ul id="commentCode">
									<li><a data-code="html">HTML/XML</a></li>
									<li><a data-code="objc">objective-c</a></li>
									<li><a data-code="ruby">Ruby</a></li>
									<li><a data-code="php">PHP</a></li>
									<li><a data-code="csharp">C</a></li>
									<li><a data-code="cpp">C++</a></li>
									<li><a data-code="javascript">JavaScript</a></li>
									<li><a data-code="python">Python</a></li>
									<li><a data-code="java">Java</a></li>
									<li><a data-code="css">CSS</a></li>
									<li><a data-code="sql">SQL</a></li>
									<li><a data-code="plain">其它</a></li>
								</ul>
							</div>
						</div>
						<div class="comment-operate-item">
							<input type="hidden" id="comment_replyId" name="comment_replyId">
							<input type="hidden" id="article_id" name="article_id" value="116061302">
							<input type="hidden" id="comment_userId" name="comment_userId" value="">
							<input type="hidden" id="commentId" name="commentId" value="">
							<a data-report-click='{"mod":"1582594662_003","spm":"1001.2101.3001.4227","ab":"new"}'>
							<input type="submit" class="btn-comment btn-comment-input" value="评论">
							</a>
						</div>
					</div>
				</div>
			</form>
		</div>
		<div class="comment-list-container">
			<div class="comment-list-box comment-operate-item">
			</div>
			<div id="lookFlodComment" class="look-flod-comment">
					<span class="count"></span>&nbsp;条评论被折叠&nbsp;<a class="look-more-flodcomment">查看</a>
			</div>
			<div class="opt-box text-center">
				<div class="btn btn-sm btn-link-blue" id="btnMoreComment"></div>
			</div>
		</div>
	</div>
	<div id="pcFlodCommentSideBox" class="pc-flodcomment-sidebox">
		<div class="comment-fold-tit"><span id="lookUnFlodComment" class="back"><img src="https://csdnimg.cn/release/blogv2/dist/pc/img/commentArrowLeftWhite.png" alt=""></span>被折叠的&nbsp;<span class="count"></span>&nbsp;条评论
		 <a href="https://blogdev.blog.csdn.net/article/details/122245662" class="tip" target="_blank">为什么被折叠?</a>
		 <a href="https://bbs.csdn.net/forums/FreeZone" class="park" target="_blank">
		 <img src="https://csdnimg.cn/release/blogv2/dist/pc/img/iconPark.png">到【灌水乐园】发言</a>                                
		</div>
		<div class="comment-fold-content"></div>
		<div id="lookBadComment" class="look-bad-comment side-look-comment">
			<a class="look-more-comment">查看更多评论<img src="https://csdnimg.cn/release/blogv2/dist/pc/img/commentArrowDownWhite.png" alt=""></a>
		</div>
	</div>
</div>
</div>
<div id="rewardNew" class="reward-popupbox-new">
	<p class="rewad-title">打赏作者<span class="reward-close"><img src="https://csdnimg.cn/release/blogv2/dist/pc/img/closeBt.png"></span></p>
	<dl class="profile-box">
		<dd>
		<a href="https://blog.csdn.net/Will_Ye" data-report-click='{"mod":"popu_379","dest":"https://blog.csdn.net/Will_Ye","ab":"new"}'>
			<img src="https://profile.csdnimg.cn/6/A/1/3_will_ye" class="avatar_pic">
		</a>
		</dd>
		<dt>
			<p class="blog-name">Will_Ye</p>
			<p class="blog-discript">你的鼓励将是我创作的最大动力</p>
		</dt>
	</dl>
	<div class="reward-box-new">
			<div class="reward-content"><div class="reward-right"></div></div>
	</div>
	<div class="money-box">
				<span class="choose-money choosed" data-id="2">¥2</span>
				<span class="choose-money " data-id="4">¥4</span>
				<span class="choose-money " data-id="6">¥6</span>
				<span class="choose-money " data-id="10">¥10</span>
				<span class="choose-money " data-id="20">¥20</span>
				<input id="customizeMoney" class="customize-money" name="" type="" value="" placeholder="自定义"/>
				<div class="customize-tip">输入1-500的整数</div>
	</div>
	<div class="pay-box">
		<div class="pay-type-blance pay-type active" data-type="blance">
			<img class="unchoose" src="https://csdnimg.cn/release/blogv2/dist/pc/img/newUnChoose.png" alt="">
			<img class="choose"src="https://csdnimg.cn/release/blogv2/dist/pc/img/newChoose.png" alt="">
			<span class="pay-type-name">余额支付</span>
			<span class="pay-type-num">(余额：-- )</span>
		</div>
		<div class="pay-type-money pay-type" data-type="money">
			<img class="unchoose" src="https://csdnimg.cn/release/blogv2/dist/pc/img/newUnChoose.png" alt="">
			<img class="choose"src="https://csdnimg.cn/release/blogv2/dist/pc/img/newChoose.png" alt="">
			<span class="pay-type-name">扫码支付</span>
		</div>
	</div>
	<div class="sure-box">
		<div class="sure-box-money">
			<div class="code-box">
				<div class="code-num-box">
					<span class="code-name">扫码支付：</span><span class="code-num">¥2</span>
				</div>
				<div class="code-img-box">
					<div class="renovate">
					<img src="https://csdnimg.cn/release/blogv2/dist/pc/img/pay-time-out.png">
					<span>获取中</span>
					</div>
				</div>
				<div class="code-pay-box">
					<img src="https://csdnimg.cn/release/blogv2/dist/pc/img/newWeiXin.png" alt="">
					<img src="https://csdnimg.cn/release/blogv2/dist/pc/img/newZhiFuBao.png" alt="">
					<span>扫码支付</span>
				</div>
			</div>
		</div>
		<div class="sure-box-blance">
			<p class="tip">您的余额不足，请更换扫码支付或<a target="_blank" data-report-click='{"mod":"1597646289_003","spm":"1001.2101.3001.4302"}' href="https://i.csdn.net/#/wallet/balance/recharge?utm_source=RewardVip" class="go-invest">充值</a></p>
			<p class="is-have-money"><a class="reward-sure">打赏作者</a></p>
		</div>
	</div>
</div>
<div class="pay-code">
    <div class="pay-money">实付<span class="pay-money-span" data-nowprice='' data-oldprice=''>元</span></div>
    <div class="content-blance"><a class="blance-bt" href="javascript:;">使用余额支付</a></div>
    <div class="content-code">
    <div id="payCode" data-id="">
            <div class="renovate">
                <img src="https://csdnimg.cn/release/blogv2/dist/pc/img/pay-time-out.png">
                <span>点击重新获取</span>
            </div>
        </div>
        <div class="pay-style"><span><img src="https://csdnimg.cn/release/blogv2/dist/pc/img/weixin.png"></span><span><img src="https://csdnimg.cn/release/blogv2/dist/pc/img/zhifubao.png"></span><span><img src="https://csdnimg.cn/release/blogv2/dist/pc/img/jingdong.png"></span><span class="text">扫码支付</span></div>
    </div>
    <div class="bt-close"><svg t="1567152543821" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10924" xmlns:xlink="http://www.w3.org/1999/xlink" width="12" height="12"><defs><style type="text/css"></style></defs><path d="M512 438.378667L806.506667 143.893333a52.032 52.032 0 1 1 73.6 73.621334L585.621333 512l294.485334 294.485333a52.074667 52.074667 0 0 1-73.6 73.642667L512 585.621333 217.514667 880.128a52.053333 52.053333 0 1 1-73.621334-73.642667L438.378667 512 143.893333 217.514667a52.053333 52.053333 0 1 1 73.621334-73.621334L512 438.378667z" fill="" p-id="10925"></path></svg></div>
    <!-- <p style="margin-top: 8px;font-size: 14px;" class="text-center">支付成功即可阅读</p> -->
    <div class="pay-balance">
    <input type="radio" class="pay-code-radio" data-type="details"> 
    <span class="span">钱包余额</span>
    <span class="balance" style="color:#FC5531;font-size:14px;">0</span>  
    <div class="pay-code-tile">
        <img src="https://csdnimg.cn/release/blogv2/dist/pc/img/pay-help.png" alt="">
        <div class="pay-code-content">
            <div class="span">
                <p class="title">抵扣说明：</p>
                <p> 1.余额是钱包充值的虚拟货币，按照1:1的比例进行支付金额的抵扣。<br> 2.余额无法直接购买下载，可以购买VIP、C币套餐、付费专栏及课程。</p>
            </div>
        </div>
    </div>
    </div>
    <a class="pay-balance-con" href="https://i.csdn.net/#/wallet/balance/recharge" target="_blank"><img src="https://csdnimg.cn/release/blogv2/dist/pc/img/recharge.png" alt=""><span  >余额充值</span></a>
</div>
<div style="display:none;">
	<img src="" onerror='setTimeout(function(){if(!/(csdn.net|iteye.com|baiducontent.com|googleusercontent.com|360webcache.com|sogoucdn.com|bingj.com|baidu.com)$/.test(window.location.hostname)){window.location.href="\x68\x74\x74\x70\x73\x3a\x2f\x2f\x77\x77\x77\x2e\x63\x73\x64\x6e\x2e\x6e\x65\x74"}},3000);'>
</div>
<div class="keyword-dec-box" id="keywordDecBox"></div>
</body>
<script src="https://csdnimg.cn/release/blogv2/dist/components/js/pc_wap_highlight-2a2586c533.min.js" type="text/javascript"></script>
<script src="https://csdnimg.cn/release/blogv2/dist/components/js/pc_wap_common-fbcbe8567e.min.js" type="text/javascript"></script>
<script src="https://csdnimg.cn/release/blogv2/dist/components/js/edit_copy_code-f2c107abdd.min.js" type="text/javascript"></script>
<link rel="stylesheet" href="https://csdnimg.cn/release/blog_editor_html/release1.6.12/ckeditor/plugins/codesnippet/lib/highlight/styles/atom-one-light.css">
<script src="https://g.csdnimg.cn/user-accusation/1.0.5/user-accusation.js" type="text/javascript" ></script>
<script>
 // 全局声明
 if (window.csdn === undefined) {
      window.csdn = {};
    }
    window.csdn.sideToolbar = {
        options: {
            report:{
                isShow: true,
            },
            qr: {
                isShow: false,
            },
            guide: {
                isShow: true
            }
        }
    }
    $(function(){
        $(document).on('click',"a.option-box[data-type='report']",function() {
            window.csdn.loginBox.key({
              biz: 'blog',
              subBiz: 'other_service',
              cb: function(){
                window.csdn.feedback({
                  "type":'blog',
                  "rtype":'article',
                  "rid":articleId,
                  "reportedName":username,
                  "submitOptions":{
                    "title":articleTitle,
                    "contentUrl":articleDetailUrl
                  },
                  "callback":function(){
                    showToast({
                      text: "感谢您的举报，我们会尽快审核！",
                      bottom: '10%', 
                      zindex: 9000, 
                      speed: 500,
                      time: 1500
                    })
                  }
                })
              }
            })
        });
    })
</script>
    <script src="https://g.csdnimg.cn/baidu-search/1.0.12/baidu-search.js"  type="text/javascript"></script>
<script src="https://csdnimg.cn/release/download/old_static/js/qrcode.js"></script>
<script src="https://g.csdnimg.cn/lib/qrcode/1.0.0/qrcode.min.js"></script>
<script src="https://g.csdnimg.cn/user-ordercart/3.0.1/user-ordercart.js" type="text/javascript"></script>
<script src="https://g.csdnimg.cn/user-ordertip/5.0.1/user-ordertip.js" type="text/javascript" ></script>
<script src="https://g.csdnimg.cn/order-payment/4.0.1/order-payment.js" type="text/javascript" ></script>
<script src="https://csdnimg.cn/release/blogv2/dist/pc/js/common-063b84f165.min.js" type="text/javascript"></script>
<script src="https://csdnimg.cn/release/blogv2/dist/pc/js/detail-6ba3a38d3d.min.js" type="text/javascript"></script>
<script src="https://csdnimg.cn/release/blogv2/dist/pc/js/column-2e5cf567c5.min.js" type="text/javascript"></script>
<script src="https://g.csdnimg.cn/side-toolbar/3.4/side-toolbar.js" type="text/javascript"></script>
<script src="https://g.csdnimg.cn/copyright/1.0.4/copyright.js" type="text/javascript"></script>
<script>
    $(".MathJax").remove();
    if ($('div.markdown_views pre.prettyprint code.hljs').length > 0) {
        $('div.markdown_views')[0].className = 'markdown_views';
    }
</script>
<script type="text/javascript" src="https://csdnimg.cn/release/blog_mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<script type="text/x-mathjax-config">
    MathJax.Hub.Config({
            "HTML-CSS": {
                    linebreaks: { automatic: true, width: "94%container" },
                    imageFont: null
            },
            tex2jax: {
                preview: "none",
                ignoreClass:"title-article"
            },
            mml2jax: {
                preview: 'none'
            }
    });
</script>
<script type="text/javascript" crossorigin src="https://g.csdnimg.cn/common/csdn-login-box/csdn-login-box.js"></script></html>
